logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

从零开始写昇腾算子:向量加法(Vector Add)——开启你的软硬协同AI开发之旅

在人工智能从“算法驱动”迈向“软硬协同”的时代,掌握底层算子开发能力,已成为高级 AI 工程师的核心竞争力。void vector_add( gm_ptr input_a, gm_ptr input_b, gm_ptr output_c, uint32_t total_size ) { // 获取当前AI Core编号(0 ~ 31) int32_t block_id = get_block_id

文章图片
#c语言#人工智能#开发语言
《昇腾 Ascend C 高级算子开发实战:自定义 Conv/GEMM/LayerNorm 与动态 Shape 支持》

其中 H 通常为 hidden size(如 4096)。训练时:batch size 可能为 1, 2, 4, 8...推理时:图像分辨率可变(如 224×224, 384×384)语音/文本:序列长度不固定传统静态算子需重新编译,无法满足灵活性需求。本文系统讲解了在昇腾平台上开发基于 Im2Col + GEMM 的卷积实现高效 GEMM 分块与流水线单遍 LayerNorm 优化动态 Shap

文章图片
#c语言#开发语言
从零开始写昇腾算子:向量加法(Vector Add)——开启你的软硬协同AI开发之旅

开发完成的 Ascend C 算子可通过 AOT(Ahead-of-Time)编译方式,直接注册到 MindSpore、TensorFlow 或 PyTorch 中,作为普通算子调用,无需修改上层模型代码。无论是使用 MindSpore 的用户,还是希望在昇腾设备上部署 PyTorch 模型的工程师,最终都可能通过 Ascend C 实现关键算子的性能突破。下一篇文章,我们将动手编写你的第一个 A

文章图片
#人工智能
深入解析 CANN:面向 AI 加速的异构计算架构与开源生态引言:AI 算力需求激增,呼唤高效计算底座

算子描述文件(*.ini):声明输入/输出、属性、支持的数据类型等;Kernel 模板生成器:根据描述自动生成 C++ 或类 C 代码框架;Tiling 设计工具:可视化配置分块策略,平衡计算与访存;自动化测试框架:支持精度验证、性能回归、边界测试等。开发者只需聚焦核心计算逻辑,其余工程细节由工具链自动处理。CANN 不仅仅是一套软件工具,更是一种理念:通过软硬协同、开源协作,释放 AI 算力的最

#人工智能#架构#开源
基于昇腾 AI 处理器的 Ascend C 自定义算子开发实战:从入门到性能调优

Ascend C 为昇腾开发者提供了接近硬件的编程能力,虽有一定学习曲线,但能显著提升算子性能。本文通过两个典型案例,展示了从环境搭建、代码编写到性能调优的完整链路。支持动态 shape 算子(需 Tiling 策略自适应);与 AOE(Ascend Optimization Engine)自动调优结合;构建开源算子库(如 AscendC-Operators)。昇腾生态正快速成熟,掌握 Ascen

文章图片
#人工智能#c语言#开发语言
从零开始写昇腾算子:向量加法(Vector Add)——开启你的软硬协同AI开发之旅

开发完成的 Ascend C 算子可通过 AOT(Ahead-of-Time)编译方式,直接注册到 MindSpore、TensorFlow 或 PyTorch 中,作为普通算子调用,无需修改上层模型代码。无论是使用 MindSpore 的用户,还是希望在昇腾设备上部署 PyTorch 模型的工程师,最终都可能通过 Ascend C 实现关键算子的性能突破。下一篇文章,我们将动手编写你的第一个 A

文章图片
#人工智能
从零开始写昇腾算子:向量加法(Vector Add)——开启你的软硬协同AI开发之旅

在人工智能从“算法驱动”迈向“软硬协同”的时代,掌握底层算子开发能力,已成为高级 AI 工程师的核心竞争力。void vector_add( gm_ptr input_a, gm_ptr input_b, gm_ptr output_c, uint32_t total_size ) { // 获取当前AI Core编号(0 ~ 31) int32_t block_id = get_block_id

文章图片
#c语言#人工智能#开发语言
从零开始写昇腾算子:向量加法(Vector Add)——开启你的软硬协同AI开发之旅

在人工智能从“算法驱动”迈向“软硬协同”的时代,掌握底层算子开发能力,已成为高级 AI 工程师的核心竞争力。void vector_add( gm_ptr input_a, gm_ptr input_b, gm_ptr output_c, uint32_t total_size ) { // 获取当前AI Core编号(0 ~ 31) int32_t block_id = get_block_id

文章图片
#c语言#人工智能#开发语言
基于昇腾 AI 处理器的 Ascend C 自定义算子开发实战:从入门到性能调优

Ascend C 为昇腾开发者提供了接近硬件的编程能力,虽有一定学习曲线,但能显著提升算子性能。本文通过两个典型案例,展示了从环境搭建、代码编写到性能调优的完整链路。支持动态 shape 算子(需 Tiling 策略自适应);与 AOE(Ascend Optimization Engine)自动调优结合;构建开源算子库(如 AscendC-Operators)。昇腾生态正快速成熟,掌握 Ascen

文章图片
#人工智能#c语言#开发语言
《昇腾 Ascend C 高级算子开发实战:自定义 Conv/GEMM/LayerNorm 与动态 Shape 支持》

其中 H 通常为 hidden size(如 4096)。训练时:batch size 可能为 1, 2, 4, 8...推理时:图像分辨率可变(如 224×224, 384×384)语音/文本:序列长度不固定传统静态算子需重新编译,无法满足灵活性需求。本文系统讲解了在昇腾平台上开发基于 Im2Col + GEMM 的卷积实现高效 GEMM 分块与流水线单遍 LayerNorm 优化动态 Shap

文章图片
#c语言#开发语言
    共 16 条
  • 1
  • 2
  • 请选择