9 月 25 日,在华为全联接 2021 第三日主题演讲中(点击查看2021华为全联接大会专题报道),华为副总裁、计算产品线总裁邓泰华正式发布北冥多样性计算融合架构(简称“北冥架构”)。北冥架构是为多样性计算硬件及集群打造的完整软件栈,可帮助开发者在多样算力环境下,实现与单机相同的应用开发和部署体验,并获得远超单一算力的应用性能。
大会上,华为计算产品线研发总裁熊彦分享了华为在多样性计算软件栈方面的技术创新。他指出,当前多样性计算已经成为计算行业最重要的趋势。未来数据中心中,除通用算力外的各种多样性算力占比将越来越大,从单算力到多算力协同、从单机到集群、从传统应用到多样性融合应用,多样性计算系统给新型应用发展带来巨大的潜力和空间,同时也给开发者带来极大的挑战。
北冥架构是为多样性计算硬件及集群打造的使能软件栈,简化多样性计算环境下的开发和部署,充分释放算力性能。熊彦逐一介绍了北冥架构的基础使能、应用使能、开发使能的各个组件,并展示了北冥架构带来的价值。
北冥基础使能
熊彦指出,多样性计算系统给开发者带来了三大挑战:首先,多样性算力环境下的开发,往往需要使用多种编程语言和工具,导致开发生态碎片化。其次,同一应用在不同处理器上部署,代码难以重用,导致重复开发。更为重要的是,多种算力间缺乏协同优化手段,无法充分发挥系统的整体性能。北冥架构的基础使能软件,即通过毕昇 C++编程语言、毕昇编译器、北冥融合加速库,为多样性计算系统提供通用、高效、高性能的开发能力,助力开发者更好地应对上述挑战。
毕昇 C++支持 SYCL 异构编程标准,实现了一种语言即可对鲲鹏、昇腾及业界主流算力进行编程,大大降低了开发者学习成本。同时,对不同算力的共性特征进行了抽象,实现一套源码在多样算力上的重用。毕昇 C++通过单语言、单源码的开发方式,为开发者避免了多样性计算系统的编程复杂性。
毕昇编译器提供跨多样算力统一编译及融合优化能力。它通过多指令集支持,实现了一套源码在鲲鹏、昇腾等算力上的统一编译,可直接生成融合多种算力代码的 fatbin 可执行程序,方便地在多样性计算系统上部署运行。毕昇编译器通过多样算力融合优化技术打破了编译器只能对单算力进行编译优化的限制,实现了跨算力的联合编译优化,在 SPEC ACCEL 基准测试中性能提升 30%以上。
北冥融合加速库则为领域关键功能加速提供基于 API 的编程调用。它兼容主流应用框架,实现已有应用生态的良好对接。北冥融合加速库为多算力提供统一的 API 接口,支持 AI+大数据、HPC+AI、HPDA 等融合应用。同时,通过业界独有的多算力协同能力,实现了加速库性能的大幅提升。
北冥应用使能
在多样性计算集群上开发融合应用,开发者不仅要面对大规模并行应用开发的复杂性,还需要解决融合应用跨算力部署的难题。更为挑战的是,从单算力到多样算力,从单机到集群,应用的全栈性能优化变得极其复杂和困难。北冥架构通过多瑙统一调度器、元戎分布式并行开发框架、昇思科学计算套件,帮助开发者实现分布式应用的极简开发、融合应用的高效部署以及多样性计算系统的全栈效能最优。
多瑙统一调度器为多样性算力集群提供应用与资源的最佳匹配。它在多样性应用统一调度、多样性算力资源统一管理的基础上,通过对应用、算力、存储、网络和能耗的多层次深度感知,建模和智能调度算法创新,结合专家系统、实现跨域联动、进一步提高了系统效率。未来,多瑙还将通过元调度器的分级调度能力支持跨数据中心的调度,为多样性计算算力网络的构建提供关键技术支撑。
元戎是华为面向多样性计算集群打造的分布式并行开发框架,目标是让开发者在多样性计算集群上享受单机编程体验,让大规模并行应用的构建像搭积木一样快捷。当前元戎已经实现了对数据并行和算法并行两类关键应用开发场景的支持, 大幅提升了分布式应用开发的效率。未来,元戎将支持多种计算模式的组合,帮助开发者更加灵活地在多样性计算集群中开发分布式应用。
多样算力的广泛部署也正在激发跨领域应用融合,例如 AI 正在成为研究科学计算的新范式,为此,华为将昇思 MindSpore 拓展到科学计算领域,将昇思原有的 AI 计算引擎升级为 AI 与科学计算的统一引擎,并面向八大科学计算行业打造 MindScience 系列套件。这些行业套件包含业界领先的数据集、基础模型、预置高精度模型和前后处理工具,加速科学行业的应用开发。
北冥开发使能
多样性计算系统下的开发调试,也给开发者带来了额外的压力。因为不同处理器的开发工具链各不相同,开发者在编程编译、调试仿真、系统调优、部署等各个环节,都会因为系统的多算力环境而遭遇开发断点,需要在工具链之间反复切换,体验差,效率低。多样性计算系统开发所需要的仿真与调测环境搭建也费时费力。更挑战的是,由于缺乏多种算力协同的调试、调优手段,开发者往往需要手工在不同的工具链之间同步调试数据,反复拼接不同算力系统的调优信息,严重限制了开发生产力。
北冥架构的 MindStudio 统一工具链,为开发者提供统一集成开发环境,实现开发全流程连贯无断点。通过插件化技术,MindStudio 支持功能的灵活拼装和开发流程用户自定义。为了解决多样性计算系统开发效率的问题,MindStudio 还专门为开发者提供了跨算力联合调试、全系统协同调优、仿真环境按需集成和开发资源一键获取等功能,从而为多样性计算系统提供开发全流程的支持。
评论