Hello World【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit本入门示例基于Ascend C SIMD实现Hello World算子带你快速上手实践涵盖Device端核函数实现、Host端调用以及编译运行的完整流程帮助开发者建立整体认知。开始前请参考环境准备安装所需的CANN软件包完整样例请参考hello_world。Hello World功能介绍在NPU上打印Hello World!!!。Device端Kernel实现后缀名为*.asc的代码文件包含Host端与Device端代码其Device端部分示例如下__global__ __vector__ void hello_world() { printf(Hello World!!!\n); }[!NOTE] 说明SIMD算子的Kernel函数需要额外的修饰符如__vector__修饰符说明该算子仅在向量计算单元上执行。Host端代码实现Host端通过语法糖调用Device端代码片段。int main(int argc, char const* argv[]) { ... constexpr uint32_t numBlocks 8; ... aclrtStream stream nullptr; aclrtCreateStream(stream); // Launch kernel numBlocks, dynUBufSize, stream // numBlocks : Number of blocks. Default to 8 in this example. // dynUBufSize : Dynamic unified buffer size. Default to 0 in this example. // stream : Runtime stream. Uses stream created by aclrtCreateStream API in this example. hello_worldnumBlocks, 0, stream(); ... }算子编译与运行bisheng hello_world.asc --npu-archdav-2201 -o demo ./demo执行本样例将打印了核号和Hello World!!!信息。[!NOTE] 说明该样例支持如下型号Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品编译选项--npu-arch用于指定NPU架构版本dav-后为架构版本号请替换为您实际使用的版本。各AI处理器型号对应的架构版本号请通过AI处理器型号和 __NPU_ARCH__ 的对应关系查询。如需进一步了解Ascend C的SIMD与SIMT编程模型请参阅Ascend C编程模型概述。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考