告别迷茫:Ascend C开发环境搭建全攻略(VSCode版)
这是代码最终运行的地方,通常是安装了昇腾AI处理器的服务器或Atlas开发板。和许多初学者一样,在满怀激情地报名了【2025年昇腾CANN训练营第二季】 后,我面临的第一个“算子”不是复杂的数学公式,而是一道最现实的关卡——如何把Ascend C开发环境给搭起来。有了顺手的VSCode环境和训练营一步步的指导,我相信后面的学习会更有趣、更高效。如果你用的是云服务器,请确保你申请的是昇腾AIECS,
大家好,我是一名刚刚踏入昇腾AI生态的开发者。和许多初学者一样,在满怀激情地报名了【2025年昇腾CANN训练营第二季】 后,我面临的第一个“算子”不是复杂的数学公式,而是一道最现实的关卡——如何把Ascend C开发环境给搭起来。
看着官方文档,一堆新概念扑面而来:CANN Toolkit、Ascend-C-Toolkit、驱动、固件……当时真有点手足无措。经过一番摸索和几次踩坑,我终于成功搭建了一套顺手的开发环境。今天,就把这份“避坑”全攻略分享给大家,希望能让你的入门之路更加顺畅。
为什么选择学习Ascend C? 正是因为这次训练营!它基于CANN开源开放全场景,推出了0基础入门系列、码力全开特辑、开发者案例等专题课程,完美契合像我这样想系统化提升算子开发技能的开发者。而且,获得Ascend C算子中级认证还能领取精美证书,社区任务更有华为手机、平板等大奖,动力十足!>> 感兴趣的同学可以在这里报名:点击加入CANN训练营
第一章:出发前,理清“行前准备”
别急着下载安装,先搞清楚我们需要什么。Ascend C开发环境主要分为两部分:运行环境和开发环境。
-
运行环境(昇腾设备侧):这是代码最终运行的地方,通常是安装了昇腾AI处理器的服务器或Atlas开发板。我们需要在这里安装基础软件栈,包括驱动、固件和CANN Toolkit。对于个人学习者,华为云提供了昇腾AI弹性云服务器,可以免去硬件和底层软件安装的烦恼,强烈入门者首选!
-
开发环境(你的电脑/开发机侧):这是我们写代码、编译代码的地方。我选择在Linux系统上进行,并使用我最熟悉的VSCode进行远程开发。
我的装备选择:
-
开发机:一台Ubuntu 20.04的云主机(你也可以用物理机或虚拟机)。
-
IDE:VSCode,配合强大的远程开发插件。
-
运行环境:申请了一台华为云昇腾ECS,预装了CANN 7.0,省心省力。
第二章:步步为营,搭建开发环境
步骤一:在开发机上安装CANN Toolkit
这个Toolkit包含了编译、调试、性能分析等所有开发工具。它就像你的C++编译器一样,是本地必备。
-
下载软件包:前往昇腾社区,找到与你的运行环境CANN版本匹配的
Ascend-cann-toolkit安装包。切记:训练营的实验代码通常对版本有要求,务必按照指引下载指定版本! 这是我踩的第一个坑,版本不匹配会导致各种诡异错误。 -
安装依赖:执行以下命令安装基础依赖,这是顺利安装的前提。
sudo apt-get update sudo apt-get install gcc g++ make cmake zlib1g-dev libsqlite3-dev openssl libssl-dev libffi-dev pciutils net-tools -
执行安装:给予安装包执行权限并运行。这里建议使用
--install-path参数自定义安装路径,我把它装在了/home/我的用户名/Ascend/ascend-toolkit/latest,方便管理。chmod +x Ascend-cann-toolkit_7.0.0_linux-x86_64.run sudo ./Ascend-cann-toolkit_7.0.0_linux-x86_64.run --install安装过程会有图形化界面,跟着指引走即可。
-
配置环境变量:这是最关键的一步!安装完成后,需要将Toolkit的路径加入到系统环境变量中。
# 编辑你的bashrc文件 vim ~/.bashrc # 在文件末尾添加以下内容,路径请替换为你的实际安装路径 export ASCEND_TOOLKIT_HOME=/home/你的用户名/Ascend/ascend-toolkit/latest export PATH=$ASCEND_TOOLKIT_HOME/bin:$PATH export LD_LIBRARY_PATH=$ASCEND_TOOLKIT_HOME/lib64:$LD_LIBRARY_PATH # 使环境变量立即生效 source ~/.bashrc完成后,在终端输入
ascend-cann-version,如果能看到版本信息,恭喜你,Toolkit安装成功!
步骤二:配置VSCode远程开发
既然开发机是Linux,我本地是Windows/Mac,用VSCode的远程开发功能是最佳选择。
-
在VSCode中安装 Remote - SSH 扩展。
-
配置SSH连接到你的Linux开发机。
-
连接成功后,你就像在本地操作远程机器一样。在VSCode的扩展商店里,安装 C/C++ 扩展(安装在远程机器上)。
步骤三:创建你的第一个Ascend C工程
别自己从头构建,最容易出错!训练营提供的实验代码包或CANN Toolkit自带的样例,就是最好的起点。
-
在开发机上,找到一个合适的目录,解压训练营给的“Hello World”工程包。
-
用VSCode远程打开这个工程文件夹。你会看到一个标准的目录结构,通常包含:
-
src/: 存放算子内核代码(*.cpp)和主机调用代码(main.cpp) -
scripts/: 存放编译脚本build.sh -
CMakeLists.txt: 项目的编译配置
-
-
尝试编译:在VSCode的终端里,进入工程目录,运行编译脚本。
cd scripts bash build.sh如果一切顺利,你会在
build/output/目录下看到生成的可执行文件。当终端最后出现Build success的字样时,我长舒了一口气——最难的一关总算过去了!
第三章:常见“坑点”与解决锦囊
-
坑1:
ascend-cann-version命令未找到-
原因:99%是环境变量没配置对。检查
.bashrc文件中的路径是否正确,是否执行了source ~/.bashrc。
-
-
坑2:编译时找不到
ascendc头文件-
原因:同样是环境变量问题,
ASCEND_TOOLKIT_HOME指向的路径不对,或者LD_LIBRARY_PATH没设置好。
-
-
坑3:运行程序报错,提示找不到AI Core设备
-
原因:你的开发机可能没有安装昇腾卡驱动,或者没有连接到运行环境。如果你用的是云服务器,请确保你申请的是昇腾AIECS,并且基础镜像已包含驱动。
-
结语:环境已成,征程开启
当屏幕上终于打印出第一个算子运行成功的日志时,那种成就感是实实在在的。环境的成功搭建,意味着你已经推开了Ascend C算子开发世界的大门。
现在,我已经迫不及待地想要深入训练营的“0基础入门系列”课程,去真正理解核函数、Global Memory、Local Memory这些核心概念了。有了顺手的VSCode环境和训练营一步步的指导,我相信后面的学习会更有趣、更高效。
希望这篇攻略能帮你扫清最初的障碍。咱们训练营里见,一起码力全开!
再次附上训练营报名链接,期待与你同行:https://www.hiascend.com/developer/activities/cann20252#cann-camp-2502-intro
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)