首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏along的开发之旅

    ascend pytorch 踩坑.

    npu()y = torch.randn(2, 2).npu()z = x.mm(y)print(z)但是执行python example_npu.py报错:/data/miniconda3/envs/ascend /ascend-toolkit/latest owner does not match the current user. /data/miniconda3/envs/ascend/lib/python3.10/site-packages/torch_npu/utils/path_manager.py:82: UserWarning : Warning: The /usr/local/Ascend/ascend-toolkit/8.0.RC2/x86_64-linux/ascend_toolkit_install.info owner _lazy_init() File "/data/miniconda3/envs/ascend/lib/python3.10/site-packages/torch_npu/npu/__init__.

    1.3K10编辑于 2025-04-23
  • 来自专栏AI系统

    【AI系统】Ascend C 编程范式

    Ascend C 算子的编写思路。 本文将针对 Ascend C 的编程范式进行详细讲解,重点讲授向量计算编程范式。 算子分析在开发算子代码之前需要分析算子的数学表达式、输入、输出以及计算逻辑的实现,明确需要调用的 Ascend C 接口。 本文将详细讲解数据在这三个任务之间的传递过程,并为后续使用 Ascend C 对其进行实现作铺垫。向量算子三阶段任务流水的数据通路如下图所示。 上述为向量算子核心处理部分的数据通路,同时也作为一个程序设计思路,下面将介绍如何用 Ascend C 对其进行实现。

    33210编辑于 2024-12-02
  • Ascend C的编程模型

    1 并发执行Ascend C和cudnn相似,都是一种多核心编程的范式。想要了解Ascend C,必须得先掌握这种“多核”是怎么实现得。 多核执行,说白了就是使用CPU/GPU/Ascend的物理多核并发去执行一段流程,一般情况下,可以通过以下几种方式实现:多线程并行处理:使用多线程可以将循环中的任务分配给多个线程同时执行,提高代码的执行效率 2 Ascend C编程模型Ascend C算子编程是SPMD(Single-Program Multiple-Data)编程。 SPMD模型具体到Ascend C编程模型中的应用,是将需要处理的数据被拆分并同时在多个计算核心(类比于上文介绍中的多个进程)上运行,从而获取更高的性能。 AiCore并行计算示意图下面的代码片段取自于Ascend CAdd算子的实现代码,算子被调用时,所有的计算核心都执行相同的实现代码,入口函数的入参也是相同的。

    50610编辑于 2024-12-04
  • Ascend c算子开发流程揭秘。

    [4,5,6], dtype=np.float32)) result = AddOperator().compute(a,b) # [5. 7. 9.] 2.2 神经网络专用算子 // 卷积核函数(Ascend CopyToGM(result, output); // 搬出到GM 四、经典算子实现案例 4.1 矩阵乘法优化 数学原理 C_{mn} = \sum_{k=1}^{K} A_{mk} \cdot B_{kn} Ascend 吞吐量 内存占用 标量计算 12.3 TFLOPS 512MB 向量化 38.4 TFLOPS 128MB 五、自定义算子开发实战 5.1 自定义ReLU6算子 数学表达式 \end{cases} Ascend 定位瓶颈 ascend-perf -o add_op -t compute -d 0 # 输出示例: # Compute Time: 1.2ms # Memory Bandwidth: 256GB/s /build_out/custom_opp_linux-aarch64.run --install-path=/opt/ascend/opp 8.2 ST测试用例生成 msopst create -i

    17210编辑于 2025-12-23
  • 来自专栏AI系统

    【AI系统】Ascend C 语法扩展

    Ascend C 的本质构成其实是标准 C++加上一组扩展的语法和 API。 本文首先对 Ascend C 的基础语法扩展进行简要介绍,随后讨论 Ascend C 的两种 API——基础 API 和高阶 API。 接下来针对 Ascend C 的几种关键编程对象——数据存储、任务间通信与同步,资源管理以及临时变量进行详细解读,为后续讲解 Ascend C 的编程范式打下理论基础。 Ascend C API 概述Ascend C 算子采用标准 C++ 语法和一组编程类库 API 进行编程,可以根据自己的需求选择合适的 API。 Ascend C 编程类库 API 示意图如下图所示,Ascend C API 的操作数都是 Tensor 类型:GlobalTensor(外部数据存储空间)和 LocalTensor(核上内存空间);

    45610编辑于 2024-12-02
  • SelfAttention在Ascend上的实现

    Ascend上的Self-Attention实现SelfAttention在ascend上实现是通过atb算子实现的,如下:https://www.hiascend.com/document/detail

    58210编辑于 2024-12-04
  • Ascend+FastAPI+ Uvicorn 实现推理

    2、Ascend上跑推理方案设计具体的模型通过transformers 库的from_pretrained接口从xxx-config配置文章引入。

    67410编辑于 2025-01-20
  • 转载:【AI系统】Ascend C 编程范式

    Ascend C 算子的编写思路。 本文将针对 Ascend C 的编程范式进行详细讲解,重点讲授向量计算编程范式。 算子分析在开发算子代码之前需要分析算子的数学表达式、输入、输出以及计算逻辑的实现,明确需要调用的 Ascend C 接口。 本文将详细讲解数据在这三个任务之间的传递过程,并为后续使用 Ascend C 对其进行实现作铺垫。向量算子三阶段任务流水的数据通路如下图所示。 上述为向量算子核心处理部分的数据通路,同时也作为一个程序设计思路,下面将介绍如何用 Ascend C 对其进行实现。

    30510编辑于 2024-12-12
  • 如何使用Ascend的ATB加速库?

    1 前言Ascend Transformer Boost加速库(下文简称为ATB加速库)是一款高效、可靠的加速库,基于华为Ascend AI处理器,专门为Transformer类模型的训练和推理而设计。 参考:第一步:开发算子以使用Ascend C创建Add算子为例,用户可根据实际需求选择其他方式实现自定义算子。 }/include" -L "${ATB_HOME_PATH}/lib" -L "${ASCEND_HOME_PATH}/lib64" demo.cpp -l atb -l ascendcl -o demo }/include" -L "${ATB_HOME_PATH}/lib" -L "${ASCEND_HOME_PATH}/lib64" atb_add_graph_by_tensor_id.cpp -l }/include" -L "${ATB_HOME_PATH}/lib" -L "${ASCEND_HOME_PATH}/lib64" atb_add_graph_by_tensor_id.cpp -l

    46810编辑于 2024-12-04
  • 转载:【AI系统】Ascend C 语法扩展

    Ascend C 的本质构成其实是标准 C++加上一组扩展的语法和 API。 本文首先对 Ascend C 的基础语法扩展进行简要介绍,随后讨论 Ascend C 的两种 API——基础 API 和高阶 API。 接下来针对 Ascend C 的几种关键编程对象——数据存储、任务间通信与同步,资源管理以及临时变量进行详细解读,为后续讲解 Ascend C 的编程范式打下理论基础。 Ascend C API 概述Ascend C 算子采用标准 C++ 语法和一组编程类库 API 进行编程,可以根据自己的需求选择合适的 API。 Ascend C 编程类库 API 示意图如下图所示,Ascend C API 的操作数都是 Tensor 类型:GlobalTensor(外部数据存储空间)和 LocalTensor(核上内存空间);

    36410编辑于 2024-12-12
  • Ascend C 算子开发入门指南(进阶版)

    Ascend C 算子开发入门指南(进阶版) Ascend C 算子开发入门指南 关键词:Ascend C、昇腾AI处理器、自定义算子、CANN、AI Core、向量化计算 适用人群:AI系统工程师 、高性能计算开发者、模型部署工程师 预计阅读时间:20分钟 文章质量目标:CSDN质量分 ≥ 94(结构清晰、内容原创、技术深入、示例完整) 一、Ascend C 算子开发核心概念 1.1 算子的定义与作用 而 Ascend C 算子 则是华为面向昇腾(Ascend)AI处理器推出的底层高性能编程接口,通过直接调用 AI Core、向量计算单元等硬件资源,实现比通用框架(如PyTorch/TensorFlow 专用编译器 支持Ascend C语法扩展 ascend-perf 性能分析 捕获计算/内存瓶颈 gdb-for-ascend 调试工具 查看核函数执行状态 三、Ascend C 算子开发全流程 3.1 Tuning Kit进行自动参数搜索 九、总结 Ascend C 算子开发是释放昇腾AI算力的关键技能。

    35810编辑于 2025-12-23
  • 来自专栏CSDNToQQCode

    2025年6月 CANN Ascend C算子开发能力认证(中级)环境(ascend910b)与代码

    环境说明 我这里使用的是华为的ModelArts的环境直接在线安装的各类环境,没有使用线下的板子,如果有线下的板子需要看看那个型号的,我是:ascend910b,上下文需要对照,如果你是ascend310b source /home/ma-user/Ascend/ascend-toolkit/set_env.sh 3、修改文件列表 共计修改4个文件: SigmoidCustom/SigmoidCustom

    43510编辑于 2025-07-10
  • vllm+vllm-ascend本地部署QwQ-32B

    2 vllm-ascend安装 2.1 使用vllm+vllm-ascend基础镜像 基础镜像地址:https://quay.io/repository/ascend/vllm-ascend? tab=tags&tag=latest 拉取镜像(v0.7.0.3的正式版本尚未发布) docker pull quay.io/ascend/vllm-ascend:v0.7.3-dev 启动镜像 QwQ /driver/lib64/:/usr/local/Ascend/driver/lib64/ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend /driver/version.info -v /etc/ascend_install.info:/etc/ascend_install.info -v /xxx/models/llmmodels:/usr1 cd vllm-ascend pip install -e .

    1.5K10编辑于 2025-04-21
  • 来自专栏along的开发之旅

    Ascend 910b上 paddle安装及运行报错排查

    /nnal/atb/latest/atb/cxx_abi_0/bin:/usr/local/Ascend/ascend-toolkit/latest/bin:/usr/local/Ascend/ascend-toolkit in (/usr/local/Ascend/nnal/atb/latest/atb/cxx_abi_0/bin:/usr/local/Ascend/ascend-toolkit/latest/bin: /usr/local/Ascend/ascend-toolkit/latest/compiler/ccec_compiler/bin:/usr/local/Ascend/ascend-toolkit/latest /nnal/atb/latest/atb/cxx_abi_0/bin:/usr/local/Ascend/ascend-toolkit/latest/bin:/usr/local/Ascend/ascend-toolkit /nnal/atb/latest/atb/cxx_abi_0/bin:/usr/local/Ascend/ascend-toolkit/latest/bin:/usr/local/Ascend/ascend-toolkit

    1.2K10编辑于 2025-04-25
  • 解决Ascend上vllm运行时出现urllib3.exceptions.SSLError:

    问题就出现在通过python去下载文件,然后SSL的安全校验出现了问题。临时解决办法是,可以规避该校验。

    32610编辑于 2025-01-06
  • 来自专栏along的开发之旅

    ascend cann镜像构建失败, 报错ImportError: libascend_hal.so: cannot open shared object

    39, in <module>#30 11.01 import torch_npu.npu#30 11.01 File "/data/miniconda3/envs/ascend 11.01 entrypoint = backend_extension.load()#30 11.01 File "/data/miniconda3/envs/ascend _bootstrap>", line 241, in _call_with_frames_removed#30 11.01 File "/data/miniconda3/envs/ascend _error_code import ErrCode, pta_error#30 11.01 File "/data/miniconda3/envs/ascend-3.10.14/lib RUN ls /usr/local/Ascend报错, 才意识到我在一台cpu机器打镜像, 是没有这个驱动的. 这个驱动是镜像运行后, 挂载上去的.

    82810编辑于 2025-04-25
  • 来自专栏along的开发之旅

    Ascend 910b vllm运行报错: cannot import name log from torch.distributed.elastic

    Ascend 910b上运行vllm报错. /ascend-toolkit/latest owner does not match the current owner. UserWarning: Warning: The /usr/local/Ascend/ascend-toolkit/8.0.0/x86_64-linux/ascend_toolkit_install.info INFO 04-24 11:04:32 __init__.py:44] plugin ascend loaded. () File "/data/miniconda3/envs/ascend-3.10.14/lib/python3.10/site-packages/vllm_ascend/models/__init

    66710编辑于 2025-04-24
  • 来自专栏along的开发之旅

    Ascend 910b 运行vllm报错 libatb.so: cannot open shared object file

    ://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.0.0/Ascend-cann-toolkit_8.0.0_linux-x86_ install --quiet# 安装Ascend-cann-nnal_8.0.0_linux-x86_64.runwget -O Ascend-cann-nnal_8.0.0_linux-x86_64 response-content-type=application/octet-streamsource /usr/local/Ascend/ascend-toolkit/set_env.shbash Ascend-cann-nnal_8.0.0_linux-x86_64.run --install --quiet# 安装 Ascend-mindie_1.0.0_linux-x86_64.runwget /usr/local/Ascend/nnal/atb/set_env.shbash Ascend-mindie_1.0.0_linux-x86_64.run --install --quiet

    92910编辑于 2025-04-24
  • 来自专栏小陈运维

    PyCharm在Linux安装出现报错-Java Runtime (class file version 55.0)

    =/usr/local/Ascend # the root directory of run package # lib libraries that the run package depends on export LD_LIBRARY_PATH=${LOCAL_ASCEND}/add-ons/:${LOCAL_ASCEND}/ascend-toolkit/latest/fwkacllib/lib64 :${LOCAL_ASCEND}/driver/lib64:${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe/ path export ASCEND_OPP_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp # OPP path export PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin/:${PATH}

    2.3K50发布于 2021-10-13
  • Ascend C 算子开发高阶进阶:异构计算、算子融合与AI模型定制化优化

    Ascend C 算子开发高阶进阶:异构计算、算子融合与AI模型定制化优化 一、异构计算与多级缓存优化 1.1 Cube单元与Vector单元协同编程 Cube单元:专用于矩阵乘法(FP16/INT8) std::cerr << "Memory allocation failed: " << ret << std::endl; return ret; } 6.2 调试工具链 gdb-for-ascend : gdb-for-ascend . build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Build with Ascend /test_matrix_mul.sh 八、总结 本教程深入探讨了Ascend C算子开发的高阶技术,涵盖: 异构计算与多级缓存优化 复杂算子融合与计算图优化 AI模型定制化算子开发(动态Shape、量化

    22620编辑于 2025-12-23
领券