NVIDIA宣布,15.10 版本的 PGI Accelerator Fortran、C 以及 C++ 编译器现已问世,该版本新增了在 x86 架构多核微处理器上支持 OpenACC指令并行编程标准。
全新的 PGI 编译器可实现高性能移植,让开发者能够对基于 OpenACC 的源代码进行编译,使其可以在多核 CPU 或 GPU 加速器上并行地执行。这种功能可为程序员带来巨大的灵活性,让他们能够凭借单一版本的源代码开发出可充分利用多种系统架构的应用。
NVIDIA PGI 编译器与工具总监 Douglas Miles 表示:“我们的目标是让 HPC 开发者能够利用通用的源代码库在各大 CPU 与加速器平台上轻松移植应用并实现一致的高性能。这种功能在通往百亿亿次级 (Exascale) 计算的竞赛中尤其重要。在这一竞赛中,将会有各种各样的系统架构需要更灵活的应用编程方式。”
这一全新的 PGI 特性能够对代码中的 OpenACC 计算部分进行编译,以便在 x86 处理器和多路服务器的所有处理核心上实现并行执行。所有这些处理核心会被视为一个共享内存的加速器,从而在所生成的 OpenACC 程序中消除了所有数据移动的系统开销。在默认情况下,该编译器生成的代码能够利用系统中所有可用的核心。程序员可以使用多种方法来控制和调整这一行为。
英国原子武器研究所 (AWE) 的 Wayne Gaudin 表示:“在不改动代码的情况下能够在 CPU 上运行 ACC 并且性能与我们的 OpenMP/MPI 版本相当,而且在 GPU 上可实现 4 倍性能提升,这着实令我们眼前一亮。从高性能移植与代码前瞻性的角度而言,这是非常完美的成绩。”
在多核 CPU 上运行 OpenACC 的主要优势有:
• 可有效利用多核 CPU 或多路服务器的所有核心来实现并行执行
• 通用编程模型可在 CPU 与 GPU 上使用 Fortran、C 以及 C++ 等语言
• 在程序中使用 KERNELS 指令能够快速利用现有的多核并行机制,从而为并行执行增进优化
• 在多核 CPU 与 GPU 上可扩展性能
橡树岭国家实验室项目总监 Buddy Bland 表示:“采用突破性硬件技术需要付出许多代价,将 HPC 应用从一个平台移植到另一个平台就是其中最重大的代价之一。从 Titan 这样的超级计算机到美国能源部即将问世的各大系统,针对多核 x86 CPU 的 OpenACC 让这些系统上现有的纯 CPU 应用和 GPU 应用能够具备延续性和代码移植性,可以在这些系统之间移植。”
OpenACC 风头正劲
目前已有 10,000 多名开发者使用 OpenACC,多项近期的开发成果均凸显出在高性能计算领域中采用 OpenACC 的重要性越来越高。近期在世界各地举办的黑客松 (Hackathon) 活动中,各个科学领域中的专家均利用加速器和 OpenACC 来加速其科学应用。这些应用涉及的领域十分广泛,其中包括 MRI 图像重建 (PowerGrid)、计算流体动力学 (INCOMP3D、HiPSTAR 和 Numeca)、宇宙学与天体物理学 (RAMSES、CASTRO 和 MAESTRO)、量子化学 (LSDALTON) 以及计算物理学 (NekCEM) 等等。
此外,Gaussian 公司还宣布,该公司正在利用 OpenACC 来把 GAUSSIAN 计算化学应用移植到加速器上来。最近在法国安纳西举办的有关气候与天气的 iCAS2 大会上,瑞士联邦气象气候局 (Meteosuisse) 宣布,该局已部署 GPU 加速版本的 COSMO,这是全球首款在 GPU 加速器上运行的正式版天气预报应用。
在最近一项由 150 名 OpenACC 开发者参加的调查问卷中,94% 的调查对象报告称,在加速器上运行代码时实现了速度提升。在这些用户当中,90% 以上的人会推荐 OpenACC。
写在最后
好文章,需要你的鼓励
很多人担心被AI取代,陷入无意义感。按照杨元庆的思路,其实无论是模型的打造者,还是模型的使用者,都不该把AI放在人的对立面。
MIT研究团队提出递归语言模型(RLM),通过将长文本存储在外部编程环境中,让AI能够编写代码来探索和分解文本,并递归调用自身处理子任务。该方法成功处理了比传统模型大两个数量级的文本长度,在多项长文本任务上显著优于现有方法,同时保持了相当的成本效率,为AI处理超长文本提供了全新解决方案。
谷歌宣布对Gmail进行重大升级,全面集成Gemini AI功能,将其转变为"个人主动式收件箱助手"。新功能包括AI收件箱视图,可按优先级自动分组邮件;"帮我快速了解"功能提供邮件活动摘要;扩展"帮我写邮件"工具至所有用户;支持复杂问题查询如"我的航班何时降落"。部分功能免费提供,高级功能需付费订阅。谷歌强调用户数据安全,邮件内容不会用于训练公共AI模型。
华为研究团队推出SWE-Lego框架,通过混合数据集、改进监督学习和测试时扩展三大创新,让8B参数AI模型在代码自动修复任务上击败32B对手。该系统在SWE-bench Verified测试中达到42.2%成功率,加上扩展技术后提升至49.6%,证明了精巧方法设计胜过简单规模扩展的技术理念。