对标英伟达CUDA,华为宣布开源CANN,华为发起的开源项目
(文/观察者网 吕栋 编辑/张广凯)
“华为AI战略的核心是算力,并坚持昇腾硬件变现。”他说道。
CANN的全称是“神经网络异构计算架构”(Compute Architecture for Neural Networks),它的角色,是把上层AI训练框架(如PyTorch、TensorFlow、MindSpore等)和底层昇腾芯片连接起来的桥梁,让开发者不用关心芯片细节就能调用底层算力。
与CANN作用类似的,还有英伟达的CUDA和AMD的ROCm,以及中国摩尔线程的MUSA、壁仞科技的BIRENSUPA、寒武纪的Neuware和海光信息的DTK等等。但最知名和影响力最大的还是英伟达的CUDA,它与英伟达GPU和NVlink构成英伟达的核心护城河。
AI全栈软硬件架构
“CUDA生态系统埋藏着巨大的迁移成本,它充当PyTorch和英伟达GPU之间的桥梁。从CUDA迁移的开发者通常必须重写大量代码,被迫使用不太成熟的替代库。此外,开发者还会失去围绕CUDA发展起来的庞大故障排除社区的支持。”有行业人士对观察者网说道。
华为专家还对观察者网表示,“我们坚持CANN实现分层深度开放,从最底层的算子开发层,到模型开发层、推理层,进一步兼容三方开源框架,让运行在三方框架、推理引擎上的模型/应用迁移至昇腾无需修改。面向应用开发层,我们将面向应用开发提供更多SDK,让应用部署更便捷,模型训练和推理更高效。”
CANN支持的深度学习框架与第三方库
但不可否认,与发展了18年的CUDA生态相比,刚起步六七年的CANN,易用性和生态丰富度仍存在差距,并且任重道远。去年9月外媒报道,为了让客户适应新生态,华为效仿英伟达最初推广CUDA的策略,向百度、科大讯飞和腾讯派遣了工程团队,帮助他们在CANN环境中重现和优化现有的基于CUDA的训练代码。
“开发者在社交媒体上表达不满并不是坏事,相反将有助于华为改进CANN。发展新的生态绝不是一日之功,要知道英伟达花了18年才打造出如今的CUDA生态,即便华为在压力之下,构建一个有竞争力的软件生态系统也需要数年时间。起初可能出于无奈之举,随着时间的推移,开发者可能会逐渐形成习惯,最终让CANN等软件形成能与英伟达软件栈相抗衡的基础设施。”有行业人士评论道。
本文系观察者网独家稿件,未经授权,不得转载。
3、编译 | 面临AI空前挑战,沾沾自喜的印度究竟有没有出路?