科研学术
科研学术
当前位置:首页  科研学术
哈工大计算学部与华为CANN团队联合开发基于昇腾硬件的高效Numpy计算库AsNumpy
发布人:李彤  发布时间:2025-07-28   浏览次数:10

基本介绍

随着人工智能与深度学习的快速发展,高效且友好的计算工具已成为开发者的迫切需求。随着算力需求的不断增长,专用计算芯片及其配套的软件生态系统的重要性日益突出。为了提升开发者在昇腾硬件上的计算体验,哈尔滨工业大学计算学部苏统华教授团队与CANN团队合作,共同开发了昇腾原生Numpy——AsNumpy。该库与Numpy接口高度兼容,并能充分发挥昇腾硬件的高效计算能力。

AsNumpy的核心功能是将高性能CANN算子封装为与Numpy保持兼容的接口,开发者可以像使用熟悉的Numpy一样,轻松调用CANN算子,借助昇腾硬件的强大计算能力完成各种数学计算任务。

项目地址:https://gitcode.com/HIT1920/asnumpy,后续会正式贡献到CANN开源社区。

项目特点

1. Numpy高度兼容

AsNumpy的核心设计理念是与Numpy接口高度兼容,这意味着熟悉Numpy的开发者无需额外学习成本,即可轻松使用AsNumpy。同时,现有的Numpy代码迁移至AsNumpy也非常便捷。通过对比同一计算任务下的Numpy编程(左)与AsNumpy编程(右),可以看出其低学习成本和低迁移成本,最大程度保留了开发者原有的开发经验和编程风格。


2. 基于昇腾硬件的高效计算能力

AsNumpy的重要特点是依赖昇腾硬件的高效计算能力。其底层实现基于Ascend C算子编程语言,为深度学习等计算密集型任务提供高效支持,显著提升计算速度。昇腾硬件在人工智能计算领域具有出色的性能和能效比,与AsNumpy的结合,将为开发者带来更优质的计算体验。

3. 开源与开放性

作为开源项目,AsNumpy具有开放、透明的特点。开发者可以自由查看源代码、提出问题、贡献代码,从而推动项目的持续优化和创新。

项目架构

AsNumpy的架构设计兼顾了开发者的使用习惯和昇腾硬件的高效计算能力,主要包含以下三层结构:

1. 接口层

提供与Numpy高度兼容的API,确保开发者能够无缝迁移代码。

2. 封装层

将高性能的CANN算子进行封装,实现与接口层的高效对接。

3. 底层调用层

负责与昇腾硬件进行交互,确保计算任务能够高效执行。

项目优势与展望

AsNumpy作为首个基于昇腾硬件的Numpy计算库,为开发者提供了一种全新的选择——在保持类Numpy编程风格的同时,充分利用昇腾硬件的计算能力。未来,随着项目的不断推进,完善的运行时管理 API、功能丰富的ndarray类以及便捷的打包发布脚本将逐步开源,进一步提升项目的易用性和功能性。

我们期待AsNumpy能在人工智能计算领域发挥越来越重要的作用,为推动人工智能技术的发展贡献力量。也欢迎更多的开发者加入AsNumpy项目,共同构建自主、繁荣的AI计算生态!