GROMACS凭借英特尔oneAPI开放的编程和多架构工具进行加速,并在基于英特尔Xe架构的GPU上运行,展现卓越性能。
英特尔致力于培育一个开放的生态系统,包括为许多开源项目做出技术贡献,这些项目都对现实世界产生了直接影响。GROMACS就是其中的一个例子,它是一个分子动力学软件包,用于模拟设计新药物的蛋白质、脂质和核酸。最近发布的GROMACS 2022使用SYCL和oneAPI进行开发,在多种架构上运行展现出卓越的性能,包括基于英特尔Xe架构的GPU。
英特尔并行软件工程师Roland Schulz表示:“GROMACS是世界上使用最广泛的开源分子动力学应用之一。原因很简单,借助该应用进行的模拟,能帮助我们更好地了解小到体内的蛋白质,大到宇宙星系的分子动态。值得注意的是,我们与GROMACS的合作,即使用oneAPI进行开发和优化,让英特尔参与到药物研发的重大进展中,并扩展了GROMACS跨多个计算架构的开放式开发。这一切都是在与我们非常珍视的开源社区合作时实现的。”
GROMACS的分子动力学模拟由oneAPI提供技术支持,与国际分布式计算项目Folding@home等项目一起,为确定针对乳腺癌、新型冠状肺炎、2型糖尿病等疾病关键药物的解决方案做出了贡献。在现代药物研发中,分子动力学模拟得到了广泛而成功地应用。这些模拟为研究人员提供了所需的生物大分子结构信息,以了解结构与功能关系,用于指导药物研发和设计过程。像GROMACS这样的计算工具,在药物研发方面的应用,有助于研究人员更有效地设计和评估新药的同时,节省资源。
斯德哥尔摩大学和瑞典皇家理工学院的GROMACS研发团队在生物物理学教授Erik Lindahl的带领下,引领着GROMACS分子动力学工具包的开发,这是世界上使用最广泛的高性能计算应用之一。分子动力学以计算为中心,并且频繁迭代,这让它成为最耗时的高性能计算应用之一。数十亿次的计算会涉及数百万行的代码。
oneAPI作为一种开放、统一的编程模型,用于CPU和加速器,并支持多个厂商的计算机架构,这帮助Lindahl教授和他的团队扩展了GROMACS对异构硬件的支持。这得益于使用跨架构、跨厂商的开放标准从而提高了生产力。基于这些标准,oneAPI编程简化了软件的开发流程,无需特定的编程语言或供应商,就能提供加速计算的性能,同时允许集成现有代码,包括OpenMP。
作为oneAPI优化工作的一部分,Lindahl的团队通过使用英特尔® DPC++兼容性工具(英特尔® oneAPI基础工具包的一部分),将GROMACS中只能在Nvidia硬件上运行的CUDA代码,迁移到SYCL,该工具通常能自动执行90至95%的代码迁移工作1,2。这允许其团队创建一个新的、独立可迁移的跨架构代码库。这极大简化了开发工作,并为多架构环境的部署提供灵活性。
Lindahl表示:“凭借GROMACS 2022对SYCL和oneAPI的全面支持,我们扩展了GROMACS,使其可以在新型硬件上运行。通过英特尔® DevCloud,我们已经在当前基于英特尔Xe架构的GPU,以及即将推出基于英特尔Xe架构的GPU开发平台Ponte Vecchio上,运行了生产模拟。这一阶段取得的性能结果令人印象深刻,证明了英特尔软硬件协同合作的力量。总而言之,这些优化实现了硬件的多样性,提供了高端性能,并推动了竞争和创新,让我们能更快地开展科学研究,并降低下游产业的成本。”
通过使用英特尔oneAPI跨架构工具进行优化,例如oneAPI DPC++/C++编译器、oneAPI库以及高性能计算分析和集群工具,GROMACS实现了加速计算,oneAPI工具可在英特尔® DevCloud中获取。英特尔® DevCloud是一个免费环境,可以在各种英特尔架构如CPU, GPU, FPGA上,开发和测试代码。