前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >华为CANN要替代英伟达CUDA,比鸿蒙替代安卓还难么?

华为CANN要替代英伟达CUDA,比鸿蒙替代安卓还难么?

作者头像
数据猿
发布2024-06-19 19:46:59
7000
发布2024-06-19 19:46:59
举报
文章被收录于专栏:数据猿
大数据产业创新服务媒体

——聚焦数据 · 改变商业


在数字时代,石油曾是工业的血液,驱动着世界的运转。然而,随着人工智能的兴起,一种新的能源正在悄然崛起,它就是算力——AI时代的新石油。这不再是关于地下的挖掘,而是关于数据的开采和智能的提炼。在这个新纪元,算力成为了衡量一个企业、一个国家乃至一个文明进步的关键指标。

每一个算力时代,都有两大核心,一个是计算芯片,另一个是操作系统。在CPU时代,就是大名鼎鼎的Wintel联盟。那么在AI时代呢?目前看最有可能的就是英伟达的GPU+CUDA。也就是说,英伟达集最强的AI算力和AI操作系统于一身,难怪其市值能直逼3万亿美元。

在CPU算力时代,我们被Wintel卡了很多年脖子。直到华为芯片+鸿蒙操作系统的出现,我们才看到了一点点“解套”的曙光(注意,也仅仅是一点曙光)。上一个卡点还没解决好,英伟达GPU+CUDA又成了AI时代的另一个卡点。

那这一个卡点该怎么解决呢?目前来看,还是得靠华为——Ascend(昇腾)+CANN。但这有几成胜算呢?要知道,生态的壁垒是最难打破的。鸿蒙都不能算成功了,CANN要打破CUDA的围堵,还有漫漫长路。

老牌霸主,英伟达CUDA的统治力

CUDA(Compute Unified Device Architecture),由英伟达在2006年推出,标志着GPU并行计算的新时代的开启。这一创新的并行计算平台和API模型,不仅让GPU超越了图形渲染的界限,更在科学计算、深度学习、数据分析等领域发挥着巨大的作用。CUDA的诞生,使得开发者能够利用GPU的强大并行处理能力,为各种计算密集型任务提供了加速的可能。

自诞生以来,CUDA经历了多个重要版本的更新,每一次更新都为行业带来了深远的影响。例如,CUDA 2.0引入了对双精度浮点运算的支持,这对科学计算尤为重要。随后的版本,如CUDA 4.0,特别强调了对多GPU系统的支持,允许更加灵活的数据共享和任务分配,进一步推动了高性能计算的发展。到了CUDA 11,英伟达特别重视对大规模数据集和AI模型的支持,以及增强的异构计算能力,这在深度学习领域的应用尤为突出。

CUDA不仅仅是一个计算平台,它更是一个庞大的技术生态系统。英伟达通过CUDA,构建了一个包括开发库(Libraries)、运行时(Runtime)和驱动(Driver)在内的完整软件栈。这个生态系统为开发者提供了丰富的工具和资源,包括数学和科学计算任务运算库、便捷的应用开发接口等,极大地促进了技术创新和应用开发。

CUDA的统治力在GPU行业中是显而易见的,CUDA平台的广泛应用和强大的生态系统,为英伟达在高性能计算、人工智能、数据中心等领域提供了坚实的基础。随着技术的不断进步和市场需求的增长,CUDA的市场份额和行业影响力预计将会进一步扩大。

CUDA的成功不仅在于其技术优势,更在于它所构建的生态系统和社区。数百万的开发者、科研人员和企业在使用和贡献于CUDA平台,形成了一个自我增强、不断创新的循环。这种由下至上的创新模式,使得CUDA能够持续引领行业发展,保持其霸主地位。

CUDA并不缺挑战者

AMD作为GPU领域的另一大巨头,同样拥有自己的并行计算平台来与英伟达的CUDA竞争。AMD的相应技术是ROCm(Radeon Open Compute platform),这是一个开源软件平台,旨在提供高性能的GPU计算解决方案。

ROCm最初发布于2015年,比CUDA晚了整整9年,其旨在为AMD GPU提供类似于CUDA的编程模型和工具链。它支持多种编程语言,包括C++、Fortran等,并提供了一套丰富的数学库和计算接口。

随着版本的迭代,ROCm不断增加新特性和优化性能,例如支持OpenCL、HIP(一种类似于CUDA的编程模型)等,使得开发者可以更容易地将CUDA代码移植到AMD GPU上。

ROCm 5.0版本,对性能和稳定性进行了显著改进,支持了更多的AI框架和库,如TensorFlow、PyTorch等,同时增强了对AMD最新GPU架构的支持。

尽管ROCm在不断进步,但CUDA由于其先发优势和长期积累,已经建立了一个庞大且成熟的生态系统,拥有更广泛的开发者基础和社区支持。CUDA提供了更全面的库支持和优化,这使得在许多情况下,开发者更倾向于使用CUDA。

据JCR统计,英伟达在全球GPU市场中占据了80%以上的份额,而AMD的市场份额相对较小。据统计,CUDA的开发者数量在2020年已达到200万,到2023年增长至400万,显示出其强大的用户基础和需求粘性。

尽管AMD的ROCm在开放性、多供应商支持方面具有优势,但要想在短期内撼动CUDA的市场地位几乎不太可能。

来自中国的挑战者——华为CANN

除了AMD的ROCm,英伟达CUDA的另一个挑战者,是来自中国的CANN。CANN(Compute Architecture for Neural Networks)的诞生标志着华为在AI算力领域的深入布局,作为昇腾AI全栈的核心,CANN扮演着承上启下的关键角色,适配多框架与多异构芯片,为多样化的AI应用场景提供高效易用的编程方式。

自CANN 1.0的诞生之日起,华为便在AI算力领域展开了一场技术革新的马拉松。随着AI技术的不断进步,CANN也迎来了快速的迭代更新。

CANN 3.0的发布,标志着华为在异构计算架构上的一次重大飞跃。这一版本不仅优化了与上层深度学习框架的兼容性,更在底层AI硬件的适配上做了深入的工作,实现了软硬件之间的高效协同。这种优化大幅度提升了AI模型的开发效率和运行性能,为AI应用的快速部署和稳定运行打下了坚实的基础。

紧接着,CANN 5.0的问世,自动流水技术的应用,使得计算任务能够在硬件上实现无缝衔接,极大提高了计算的并行度和执行效率。算子深度融合技术,通过减少计算节点和内存拷贝,进一步提升了性能。自适应梯度切分技术优化了大规模集群训练中的梯度同步问题,降低了通信拖尾,提高了训练效率。而智能计算调优技术,则通过自动化的调优策略,为不同网络模型提供了定制化的优化方案,使得CANN 5.0在性能上实现了质的飞跃。

CANN 6.0商用版也已于2022年发布,支持新的操作系统、pyACL接口,以及虚拟机直通场景算力切分等功能。

此外,CANN社区版6.2.RC2.alpha001和6.3.RC2.alpha005版本也相继发布,支持Ascend 310B芯片和Ascend 310P/910系列相关产品,进一步扩展了CANN的应用范围和兼容性。

进入2024年,CANN 7.0.0、CANN 7.0.1相继发布,可见CANN正在加速成长。看来,华为也有点着急了。

CANN的持续发展不仅体现了华为在AI算力领域的技术积累,也展现了其构建全场景人工智能平台的决心。通过不断的技术创新和版本迭代,CANN正逐步成为推动AI产业发展的重要力量。

CANN与CUDA的“战况”

华为CANN与英伟达CUDA在AI和高性能计算领域扮演着相似的角色,它们都是各自公司技术架构中的关键一环。CUDA作为一个并行计算平台和编程模型,释放了英伟达GPU在处理计算密集型任务时的强大潜力。同样,CANN为华为昇腾AI处理器提供了一个专门的异构计算架构,以实现高效的AI模型训练和推理。

两者都为开发者提供了硬件加速的能力,通过专门的编程接口和API,使得在专用硬件上运行的程序能够充分利用其计算能力。它们还建立了各自的生态系统,包括工具、库、框架和社区支持,这些资源极大地促进了开发者的工作效率。

尽管CUDA主要针对英伟达的GPU,而CANN专为华为昇腾AI处理器设计,但它们都在努力实现跨平台的支持,以满足不同应用场景的需求。此外,CANN和CUDA都通过不断的技术创新和版本迭代,对性能进行了深度优化,确保了更快的处理速度和更高的计算效率。

接下来,我们就从几个不同的角度,来将CANN与CUDA进行对比。

CANN与CUDA的设计哲学体现了两种不同的技术逻辑,CANN,作为华为昇腾AI处理器的使能平台,其设计初衷是提供全栈AI解决方案,以适应多样化的AI应用场景。CANN的架构优化了软硬件协同,注重在异构计算环境中的性能和效率。相比之下,CUDA由英伟达推出,是一个成熟的并行计算平台和编程模型,其设计哲学着重于利用GPU的强大并行处理能力,服务于广泛的计算密集型任务,包括但不限于AI。也就是说,CUDA的通用性和适用范围比CANN更广。

华为将CANN置于其AI战略的核心位置,视其为推动昇腾AI处理器市场竞争力的关键。CANN不仅是技术实力的展示,也是华为构建开放AI生态系统、推动AI技术普及的重要工具。对英伟达而言,CUDA是其GPU技术的延伸,通过CUDA,英伟达巩固了其在高性能计算和AI领域的领导地位,同时CUDA的广泛采用也为英伟达带来了显著的网络效应。

在性能方面,CANN和CUDA各有千秋。CANN通过自动流水、算子深度融合等技术,在AI模型训练和推理性能上取得了显著进步。CUDA则凭借其成熟的优化和广泛的硬件支持,提供了极高的计算效率和稳定性。两者在处理速度上的竞争,也反映了它们在不同应用场景下的性能优化策略。

CANN和CUDA在不同的应用场景中展现出各自的优势,CANN在处理大规模AI训练和推理任务时,特别是在华为昇腾AI处理器上,展现出优异的性能。CUDA则因其广泛的硬件兼容性和成熟的生态,被广泛应用于科学研究、工程设计、内容创作等多个领域。

当然,虽然华为CANN在某些方面做出了自己的特色,但要拼综合实力,其离英伟达CUDA还有不小的距离。

更重要的是,开发者生态的竞争。CUDA拥有庞大的开发者社区和丰富的学习资源,为开发者提供了强大的支持。华为也在积极构建CANN的开发者生态,通过提供丰富的工具、文档和社区支持,吸引和培养开发者。然而,华为CANN离构建英伟达CUDA那样完善强大的开发者生态,还有非常遥远的距离。

华为CANN,能成为Ascend(昇腾)芯片的黄金搭档么?

华为CANN作为昇腾Ascend处理器的使能平台,其设计和优化紧密围绕着昇腾Ascend的硬件架构,旨在充分发挥昇腾AI处理器的性能。从这个角度来看,CANN确实有潜力成为昇腾Ascend的黄金搭档,助力华为在AI算力领域的长远发展。

昇腾Ascend的发展历程,是华为在AI算力领域技术积累和创新的缩影。自2018年华为发布昇腾310和昇腾910 AI处理器以来,昇腾系列就以其卓越的性能和专为AI计算优化的设计,迅速在AI处理器市场占据了一席之地。

随后,华为在2019年推出的昇腾AI计算架构进一步丰富了昇腾系列的生态系统,通过整合昇腾处理器、AI加速模块和开发环境,为开发者提供了一个全栈的AI解决方案。这一举措极大地提升了昇腾AI处理器的易用性和灵活性,加速了AI应用的开发和部署。

进入2020年,CANN 3.0版本的发布标志着昇腾AI处理器在性能和开发效率上的一次飞跃。自动流水技术和算子深度融合等创新技术的引入,不仅优化了处理器的计算能力,也简化了开发者的编程工作,使得昇腾AI处理器在处理复杂AI任务时更加高效。

到了2021年,CANN 5.0版本的发布带来了性能上的进一步提升,通过软硬件协同优化,昇腾AI处理器在执行大规模AI模型训练和推理任务时展现出了卓越的性能。而2022年昇腾CANN商用版6.0的发布,支持新的操作系统和虚拟机直通场景算力切分,进一步提升了昇腾AI处理器的适用性和灵活性。

到了2023年,昇腾Ascend的发展持续加速,华为在昇腾AI处理器上的持续投入和创新,不仅推动了AI技术的进步,也为昇腾Ascend在AI算力领域的发展奠定了坚实的基础。

根据最新信息,昇腾Ascend在2024年的出货量预期非常乐观,预估在30万到60万片之间,价格方面也有所上涨。美国对高端GPU和CPU的出口管控导致中国市场对国产算力需求显著增加,去年增长了接近400%,今年需求方面基本上能保持去年的增长速率。此外,昇腾的主要客户包括互联网运营商等,需求量巨大。

近期,英伟达更新了其CUDA用户许可协议(EULA),明确禁止在非英伟达硬件平台上通过翻译层运行基于CUDA的软件。这一政策变动对于依赖CUDA进行AI计算的第三方GPU制造商构成了挑战,尤其是对于那些寻求通过兼容CUDA来扩展其产品的开发者和公司。

英伟达的这一政策变动,无疑增加了华为CANN的紧迫感。如果CANN不能快速发展并提供与CUDA相匹敌的性能和易用性,可能会影响昇腾Ascend在AI算力领域的竞争力,进而拖累其整体发展。然而,这也为CANN提供了一个机遇,通过加强自身的技术创新和生态建设,CANN有可能成为推动昇腾Ascend发展的关键力量。

CANN,能成为AI版的鸿蒙么?

正如文章开篇所说,在传统计算领域,华为鸿蒙已经取得阶段性胜利了,而在AI计算领域,CANN承担了类似的使命。

CANN作为华为昇腾AI处理器的异构计算架构,虽然在功能上与传统操作系统有所区别,但在AI领域的战略意义和作用上,可以将其视为AI版的操作系统。CANN向上支持多种AI框架,如MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程,发挥着承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。正如鸿蒙OS为华为在操作系统领域提供了自主创新的路径,CANN也在AI算力领域承担着构建和推动华为技术生态发展的重任。

CANN在华为昇腾计算产业生态中的作用 资料来源:《昇腾计算产业发展白皮书》

目前,鸿蒙已经成为中国乃至全球市场的重要竞争者。2024年,鸿蒙OS在中国市场的手机系统份额首次超越苹果iOS,成为第二大操作系统,装机量达到8亿台。这一成就不仅体现了华为在操作系统领域的自主创新能力,也标志着鸿蒙OS在手机、电脑、汽车等多个领域的广泛应用和深入布局。

鸿蒙OS的成功对于华为具有重要意义,它打破了国外厂商在移动操作系统上的长期垄断,为华为在全球市场上赢得了更多的话语权和影响力。鸿蒙OS的广泛应用为华为构建了更加完善的生态系统,增强了其产品的竞争力。此外,鸿蒙OS的成功也为华为在AI算力领域的进一步发展奠定了基础。

类似的,CANN有潜力成为AI领域的“鸿蒙”,肩负起构建华为AI生态的重任。CANN的发展,将直接影响昇腾AI处理器的性能发挥和应用推广。随着AI技术的不断进步和应用领域的拓展,CANN的技术迭代和生态建设将对华为在AI算力领域的竞争力产生重要影响。

要使CANN成为AI版的鸿蒙,华为需要在技术创新、生态建设、应用拓展和社区支持等方面进行努力。技术创新是CANN发展的核心,需要持续优化性能,加强与昇腾AI处理器的协同。生态建设是CANN成功的关键,需要构建开放、协作的AI生态,吸引更多的开发者和合作伙伴参与。应用拓展是CANN实现价值的途径,需要推动CANN在更多AI应用场景中的使用。社区支持是CANN持续发展的动力,需要加强与开发者社区的互动,提供丰富的开发工具、文档和技术支持。

应该说,让CANN去挑战CUDA,其难度甚至比鸿蒙挑战安卓还大。但无论多难,这件事情都值得尝试一下,不然,我们在AI时代面临的卡脖子问题,将比当初的Wintel更加严重。对于华为而言,要是能解决这个问题,那他对于中国的价值,比卖很多手机、汽车更具有战略意义。

文:一蓑烟雨 / 数据猿 责编:凝视深空 / 数据猿

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档