快速开始【免费下载链接】asnumpy-docs项目地址: https://gitcode.com/cann/asnumpy-docs本指南将带你了解 AsNumpy 的基本用法并展示如何以最小的改动将现有 NumPy 代码迁移到昇腾 NPU 上运行。前置条件已安装 AsNumpy安装指南昇腾 910B NPUCANN 8.2.RC1.alpha003Python 3.9NumPy vs AsNumpy核心理念只改 import其余代码保持不变。NumPy (CPU)AsNumpy (NPU)import numpy as np rows, cols 20000, 20000 m1 np.random.normal(0, 1, (rows, cols)) m2 np.random.normal(0, 1, (rows, cols)) # 在 CPU 上计算 product np.multiply(m1, m2) result np.sum(product) print(result)import numpy as np import asnumpy as ap rows, cols 20000, 20000 m1 np.random.normal(0, 1, (rows, cols)) m2 np.random.normal(0, 1, (rows, cols)) # 传输到 NPU m1_npu ap.ndarray.from_numpy(m1) m2_npu ap.ndarray.from_numpy(m2) # 在 NPU 上计算 product ap.multiply(m1_npu, m2_npu) result ap.sum(product) print(result.to_numpy())端到端示例import numpy as np import asnumpy as ap # AsNumpy 在 import 时自动初始化 NPU 设备 # 并在程序退出时自动释放无需手动 init/finalize # 1. 在 CPU 上创建数据NumPy np_a np.array([1.0, 2.0, 3.0, 4.0], dtypenp.float32) np_b np.array([10.0, 20.0, 30.0, 40.0], dtypenp.float32) # 2. 传输到 NPU npu_a ap.ndarray.from_numpy(np_a) npu_b ap.ndarray.from_numpy(np_b) # 3. 在 NPU 上执行运算 npu_sum ap.add(npu_a, npu_b) npu_prod ap.multiply(npu_a, npu_b) npu_total ap.sum(npu_prod) # 4. 将结果传回 CPU print(Sum: , npu_sum.to_numpy()) # [11. 22. 33. 44.] print(Prod: , npu_prod.to_numpy()) # [ 10. 40. 90. 160.] print(Total: , npu_total.to_numpy()) # 300.0 # 5. 与 NumPy 结果进行验证 assert np.allclose(npu_sum.to_numpy(), np.add(np_a, np_b)) assert np.allclose(npu_prod.to_numpy(), np.multiply(np_a, np_b)) print(验证通过。)设备管理import asnumpy as ap # 查询可用的NPU设备 print(ap.get_device_count()) # e.g. 8 # 切换到特定的NPU默认为0 ap.set_device(1)更多示例可运行的脚本位于examples/目录脚本操作01_add.py逐元素加法02_exp2.py指数运算 (2^x)03_multiply.py逐元素乘法含性能测试04_all.py逻辑与归约05_divide.py逐元素除法06_vdot.py向量点积07_full.py创建指定值填充的数组08_linspace.py创建等差数列09_mean.py算术平均值10_sort.py排序【免费下载链接】asnumpy-docs项目地址: https://gitcode.com/cann/asnumpy-docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN asnumpy快速开始指南
快速开始【免费下载链接】asnumpy-docs项目地址: https://gitcode.com/cann/asnumpy-docs本指南将带你了解 AsNumpy 的基本用法并展示如何以最小的改动将现有 NumPy 代码迁移到昇腾 NPU 上运行。前置条件已安装 AsNumpy安装指南昇腾 910B NPUCANN 8.2.RC1.alpha003Python 3.9NumPy vs AsNumpy核心理念只改 import其余代码保持不变。NumPy (CPU)AsNumpy (NPU)import numpy as np rows, cols 20000, 20000 m1 np.random.normal(0, 1, (rows, cols)) m2 np.random.normal(0, 1, (rows, cols)) # 在 CPU 上计算 product np.multiply(m1, m2) result np.sum(product) print(result)import numpy as np import asnumpy as ap rows, cols 20000, 20000 m1 np.random.normal(0, 1, (rows, cols)) m2 np.random.normal(0, 1, (rows, cols)) # 传输到 NPU m1_npu ap.ndarray.from_numpy(m1) m2_npu ap.ndarray.from_numpy(m2) # 在 NPU 上计算 product ap.multiply(m1_npu, m2_npu) result ap.sum(product) print(result.to_numpy())端到端示例import numpy as np import asnumpy as ap # AsNumpy 在 import 时自动初始化 NPU 设备 # 并在程序退出时自动释放无需手动 init/finalize # 1. 在 CPU 上创建数据NumPy np_a np.array([1.0, 2.0, 3.0, 4.0], dtypenp.float32) np_b np.array([10.0, 20.0, 30.0, 40.0], dtypenp.float32) # 2. 传输到 NPU npu_a ap.ndarray.from_numpy(np_a) npu_b ap.ndarray.from_numpy(np_b) # 3. 在 NPU 上执行运算 npu_sum ap.add(npu_a, npu_b) npu_prod ap.multiply(npu_a, npu_b) npu_total ap.sum(npu_prod) # 4. 将结果传回 CPU print(Sum: , npu_sum.to_numpy()) # [11. 22. 33. 44.] print(Prod: , npu_prod.to_numpy()) # [ 10. 40. 90. 160.] print(Total: , npu_total.to_numpy()) # 300.0 # 5. 与 NumPy 结果进行验证 assert np.allclose(npu_sum.to_numpy(), np.add(np_a, np_b)) assert np.allclose(npu_prod.to_numpy(), np.multiply(np_a, np_b)) print(验证通过。)设备管理import asnumpy as ap # 查询可用的NPU设备 print(ap.get_device_count()) # e.g. 8 # 切换到特定的NPU默认为0 ap.set_device(1)更多示例可运行的脚本位于examples/目录脚本操作01_add.py逐元素加法02_exp2.py指数运算 (2^x)03_multiply.py逐元素乘法含性能测试04_all.py逻辑与归约05_divide.py逐元素除法06_vdot.py向量点积07_full.py创建指定值填充的数组08_linspace.py创建等差数列09_mean.py算术平均值10_sort.py排序【免费下载链接】asnumpy-docs项目地址: https://gitcode.com/cann/asnumpy-docs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考