---
title: AscendC与CANN算子开发 | asc算子开发
description: AscendC算子开发(asc算子开发)是针对CANN算子开发场景推出的编程语言，原生支持C和C++标准规范，最大化匹配用户开发习惯；通过多层接口抽象、自动并行计算、孪生调试等关键技术，极大提高算子开发效率，助力AI开发者低成本完成算子开发和模型调优部署。
keywords: 算子开发,NPU,Ascend C,CannCommunityAscendCQuick,README,CannCommunityAscendCProgramModel,SIMD,CannCommuni
url: https://www.hiascend.com/cann/ascend-c
section: (其他)
---

# AscendC与CANN算子开发 | asc算子开发

URL: https://www.hiascend.com/cann/ascend-c
描述: AscendC算子开发(asc算子开发)是针对CANN算子开发场景推出的编程语言，原生支持C和C++标准规范，最大化匹配用户开发习惯；通过多层接口抽象、自动并行计算、孪生调试等关键技术，极大提高算子开发效率，助力AI开发者低成本完成算子开发和模型调优部署。
关键词: 算子开发,NPU,Ascend C,CannCommunityAscendCQuick,README,CannCommunityAscendCProgramModel,SIMD,CannCommuni

编程语言

Ascend C 是CANN针对算子开发场景推出的编程语言，支持C和C++标准规范，最大化匹配用户开发习惯；通过多层接口抽象、自动并行计算、孪生调试等关键技术，极大提高算子开发效率，助力AI开发者低成本完成算子开发和模型调优部署

快速入门获取源码查看文档

关键特性

遵循C/C++标准规范，包含语言扩展层和C++类库

Ascend C支持异构编译+<<<>>>直调

Asc-Tools支持CPU/NPU 孪生调试

Ascend C高性能Python编程接口

遵循C/C++标准规范，包含语言扩展层和C++类库

Ascend C支持异构编译+<<<>>>直调

Asc-Tools支持CPU/NPU 孪生调试

...

Ascend C是面向昇腾AI处理器的专用算子开发语言。它在标准C/C++基础上进行扩展，全面遵循C/C++规范，提供对底层芯片的完整编程能力，助力实现算子极致性能。同时，Ascend C 通过构建多层次编程接口，适应不同场景的算子开发需求，贴近业界开发习惯，显著提升开发效率。

Ascend C包含语言扩展层和C++类库，其中语言扩展层提供基于指针计算和基于数组分配内存的C风格编程接口，包括SIMD和SIMT；C++类库提供基于Tensor的计算接口，包括单指令抽象的基础API和单核公共算法抽象的高阶API。

此外，Ascend C提供Python前端完备编程能力PyAsc，将逐步支持基于Tensor、基于SIMT的完备编程能力，支撑实现Python前端高性能。

Ascend C支持“.asc”后缀名，在同一个文件中支持host和device kernel代码混合编写，支持host与device异构编译，支持与业界一致的<<<>>>直调能力，提供与业界一致的编程体验。

直击算子开发痛点，一套代码同时支持CPU调试和NPU调试，大幅提升算子调试效率。既可以在CPU域进行调试调优，又可以在NPU侧进行调优验证，通过CPU域与NPU域相结合的方式，降低调试难度，提升调试效率。

PyAsc基于Ascend C提供Python前端完备编程能力，将逐步支持与业界一致的Tensor和SIMT编程体验，支持Jit编译和运行，支持与Pytorch无缝对接，实现Python前端高性能算子实现。

开源开放项目 [了解详情](https://www.hiascend.com/cann/open-map?name=h0201)

6659655

2281270

305621

4502573

开发指南

快速上手

帮助初学者快速上手Ascend C，完成矢量算子核函数的开发，掌握基础算子调用能力

代码样例 [了解详情](https://gitcode.com/cann/asc-devkit/tree/master/examples)快速入门文档 [了解详情](https://hiascend.com/document/redirect/CannCommunityAscendCQuick)入门课程 [了解详情](https://www.hiascend.com/zh/developer/courses/detail/1691696509765107713)

进阶开发

帮助已入门的开发者进阶学习Ascend C，完成算子开发的全流程，掌握算子开发能力

Add算子直调样例 [了解详情](https://gitcode.com/cann/asc-devkit/blob/master/examples/01_simd_cpp_api/04_best_practices/00_vector_compute_practices/README.md)编程模型介绍 [了解详情](https://www.hiascend.com/document/redirect/CannCommunityAscendCProgramModel)SIMD 算子实践参考 [了解详情](https://hiascend.com/document/redirect/CannCommunityAscendCOnHost)算子调试调优 [了解详情](https://www.hiascend.com/document/redirect/CannCommunityAscendCDebugOptimize)算子开发工具文档 [了解详情](https://www.hiascend.com/document/redirect/CannCommercialToolOpDev)进阶课程 [了解详情](https://www.hiascend.com/zh/developer/courses/detail/1696414606799486977)

深度驾驭

帮助熟练开发者深度驾驭Ascend C，完成高性能的复杂算子的开发，掌握算子优化能力

矩阵/融合算子编程样例 [了解详情](https://gitcode.com/cann/asc-devkit/blob/master/examples/00_introduction/03_matmulleakyrelu)矩阵/融合算子编程文档 [了解详情](https://hiascend.com/document/redirect/CannCommunityAscendCMatrixProgram)最佳实践 [了解详情](https://hiascend.com/document/redirect/CannCommunityAscendCBestPractice)高级课程 [了解详情](https://www.hiascend.com/zh/developer/courses/detail/1696690858236694530)

技术博客

基于Ascend 950的Ascend C算子编程概述

全面了解Ascend 950的编程模型，深入剖析SIMT编程、寄存器级（Reg）矢量编程、SIMD/SIMT混合编程、Cube矩阵编程

查看详情 [了解详情](https://gitcode.com/cann/community/tree/master/events/meetup/slides/sig-ascendc/20260302-20260306)

Ascend C 算子开发Wiki

Ascend C 算子开发经验介绍、在线课程、直播预告以及回顾

查看详情 [了解详情](https://gitcode.com/cann/asc-devkit/wiki)

性能瓶颈如何破？Ascend C 矩阵算子高性能实践教程

Ascend C 矩阵算子如何逐步实现高性能

查看详情 [了解详情](https://gitcode.com/cann/cann-samples/blob/master/Samples/2_Performance/matmul_story/matmul_tutorials/README.md)

支持与帮助

MindStudio（算子开发）

更简单的计算和内存抽象，自动流水同步；更简便的调试手段，降低开发者编码成本

技术工单

为您提供专业高效的人工服务支持

昇腾论坛

问题求助，技术探讨，大咖在线答疑解惑
