毕昇编译技术创新与实践,释放鲲鹏昇腾极致性能
发表于 2024-09-27 18:57:09

[中国,上海,2024年9月21日] 在华为全联接大会2024期间,“毕昇编译技术创新与实践,释放鲲鹏昇腾极致性能”分论坛成功举办。毕昇编译器、毕昇JDK为开发者提供全栈解决方案,释放鲲鹏、昇腾极致算力,实现性能竞争力领先。本次分论坛特邀高校知名学者和产业界资深专家,产学研用共同探讨编译技术在AI算力领域的创新与实践。

嘉宾合影.jpg

领导致辞

华为编译器实验室主任骆能军在开场致辞中表示,华为在HC2019大会上正式发布了毕昇编译器,经过五年时间的发展,毕昇编译器和毕昇JDK已经应用在了各行各业。毕昇编译器和毕昇JDK作为华为基础软件领域的核心技术之一,不仅仅在现阶段要助力鲲鹏、昇腾构建极致竞争力,同时还肩负着在智能化时代面向开发者的技术创新和生态发展使命,未来还需要大家一如既往的支持和合作本次分论坛特别邀请了学术界的知名教授和工业界的专家,从编译技术发展趋势、行业应用来分享他们的研究工作,希望通过这种“产学研用”结合的方式,产生一些思想碰撞,促进编译技术的创新思考,为编译器技术的进步贡献力量,为基础软件的发展贡献智慧。

骆能军.jpg

华为编译器实验室主任骆能军

软硬件协同设计的图和人工智能系统

清华大学钱学海教授在报告中首先讨论了现代计算机系统在多核可编程性和调试性,以及图和人工智能应用快速发展提升性能面临的挑战和机遇,解释了软硬件结合的重要性,并指出其应用场景。

关于基于共享内存的多核系统,将原子块作为实现易编程的顺序一致性模型的机制以及隐藏编译器优化可能违反顺序一致性行为的软件接口,实现从软件到体系结构的全栈顺序一致性。

关于图计算和机器学习系统,在介绍当前应用编程接口、运行时系统、体系结构的分层架构以及两种应用各自重要算法场景之后,讨论了如何通过编译器和运行时系统协同设计消除分布式图计算中由于系统执行语义不精确造成的冗余计算和通信,以及去中心化分布式训练系统的设计。

钱学海.jpg

清华大学钱学海教授

基于编译的GPU计算加速和异构支持

中山大学张献伟副教授在演讲中提到,高性能和智能计算的发展离不开以GPU为代表的加速器。凭借多线程并发、高数据带宽和低能耗的优势,GPU已成为关键的计算力提供者。随着数据量和计算需求的持续快速增长,GPU的硬件架构和支撑软件也在不断迭代更新。然而,GPU仍面临一系列技术挑战,需要在编译和运行时等多个层面提出相应的解决方案。首先,GPU的架构和软件栈日益复杂,导致多任务并行编程的难度增加,计算与通信资源利用率不足的问题也随之而来。

此外,不同GPU之间,以及GPU与CPU或集群间的显著差异和高度异构性,给应用的开发和移植带来了严峻挑战。针对这些问题,基于编译器和运行时的软硬件协同优化设计,能够提供有效的解决方案,包括GPU多任务代码的自动并行转换、面向Tensor Core的混合精度计算调优,以及基于SYCL和容器的多层异构扩展支持。未来将围绕GPU生态进一步开展基于软硬件协同设计方案,促进高性能和智能计算的综合性能提升。

张献伟.jpg

中山大学张献伟副教授

并行编程模型的同步操作优化

OpenMP是高性能计算中C、C++、Fortran程序常用的并行编程模型。同步控制是OpenMP并行程序中的一个主要开销,许多不必要的冗余同步降低了程序的可扩展性。在大型OpenMP程序中,手动检测冗余同步非常具有挑战性。

湖南大学王锋研究员带领团队提出了一种方法SVF-OMP,可以在不添加任何额外信息的情况下,使用编译器检测和消除大型OpenMP程序中的冗余同步,并且使用了鲲鹏处理器原子操作指令高效实现锁机制。王锋研究员表示,该方法支持C、C++、Fortran语言,已经在LLVM编译器和SVF(基于LLVM的别名分析工具)上进行了实现,并在多个基准测试中取得了效果,如NPB、SPEC OMP2012、Polymage和Hecbench,在16线程并行情况下最多取得28%的性能提升。部分成果已经应用于毕昇编译器中,在天气预报、生命科学、地质勘探、药物设计、流行病学研究等领域获得应用。

王锋.jpg

湖南大学王锋研究员

东方通基于毕昇JDK的应用与实践

东方通资深专家董晓峰表示,东方通作为国产JDK领域的重要参与者,始终坚持以研发为基石,积极拥抱华为毕昇社区,通过参与社区技术交流、代码贡献、测试用例开发以及技术文档编写等工作,为毕昇社区的发展贡献一份力量。同时,东方通以客户需求为导向,专注于打造既稳定又高效的国产JDK产品,旨在解决用户面临的实际问题和挑战。东方通携手华为与生态合作伙伴共同推动国产JDK生态系统的发展,增强国内开源软件的整体竞争力,为开发者提供更加丰富和可靠的选择。展望未来,东方通期待看到更多创新成果涌现于毕昇社区,进一步完善国产开源软件环境。

董晓峰.jpg

东方通资深专家董晓峰

毕昇JDK与宝兰德携手共赢行业新生态

宝兰德产品总监邓哲表示,毕昇JDK是华为内部基于OpenJDK定制的Huawei JDK的开源版本,致力于为JAVA开发者提供一款稳定可靠、高性能、易调测的JDK,也为用户在ARM架构上提供一个更好的选择。历经多年行业深耕和技术积累,宝兰德在中间件领域先后推出了应用服务器中间件、云原生应用中间件、微服务应用中间件、消息中间件、分布式缓存、WEB服务器软件、云原生消息流中间件等中间件产品,全面支撑企业数字化转型需求。凭借各自所在领域的深厚优势,宝兰德与毕昇JDK强强联合,在多个行业应用场景中展开了深度合作,推动了技术创新的边界,在实际应用中取得了显著成效与广泛认可,共同为行业用户带来更加高效、稳定、易用的技术解决方案。

邓哲.jpg

宝兰德产品总监邓哲

毕昇编译器调试调优技术与实践

AI和大模型中,算子编程和开发是极其重要的一环。华为毕昇编译器架构师许春嵘表示,针对昇腾DSA架构,算子开发周期中,调试调优是极其重要的一环,合适的调试调优技术和工具是提升开发效率和进一步提升性能的重要手段。毕昇编译器协同AscendC和MindStudio等组件,构建高效的内存检测、上板调试、二进制调优等能力,为算子调试调优提供丰富的手段。展望未来,AI技术的发展也进一步促进编译器技术的演进,未来传统调优技术和AI相结合值得进一步探索。

许春嵘.jpg

华为毕昇编译器架构师许春嵘

LLM Compiler关键技术及应用场景初探

随着未来编程向自然语言人机交互方式演进,智能化编译和优化为高性能程序的生成带来了无尽想象力。以Meta LLM Compiler为代表,工业界开始布局LLM Compiler,同时受过编译微调后的大模型,编译生成能力显著强于主流大模型。华为毕昇编译器专家成龙表示,LLM Compiler在二进制翻译、CodeSize等通用编译任务上有一定进展,但是在编译代码正确性保证、代码长度、推理时间等方面限制很大,是下一阶段技术发展和探索的重点。面对智能化挑战和机遇,华为编译器实验室提出毕昇 T-LLM Compiler,探索可信大模型智能编译器,发挥LLM和传统编译技术的交叉优势,服务实际场景难点问题。

成龙.jpg

华为毕昇编译器专家成龙

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】