LAMMPS的编译论坛里大佬介绍的很全面了,今天就简单讲一下AMD去年主推的ROCM3.1编译环境下编译LAMMPS_GPU模块的经历:
准备AMD Radeon VII(gfx906 价格3699 工包)
系统推荐UBUNTU 18.4 (AMD不给力呀)
其他环境设定:
GNU : GNU 9.2
HIP : 10.0 (base on clang)
ROC : 3.1
CUB : 1.8.0
LAMMPS :eokuznetsov发布的HIP兼容GPU代码(wget 下载 https://codeload.github.com/eokuznetsov/lammps/zip/gpu_hip_port)
================================================================================
首先是介绍HIP:
官方的介绍是这样的: HIP is a C++ Runtime API and Kernel Language that allows developers to create portable applications for AMD and NVIDIA GPUs from single source code. 说一句 AMD 真良心😂。
此外tensorflow也支持了rocm,大家可以试一试。P.S. 正在联系Gaussian询问他们有没有兴趣试一试迁移代码到HIP。 Gaussian的人说GPU对于他们来说不是特别重要(代码不稳定,需求不明确)HIP这种考虑优先级很低了。
==================================================================================
下面就简单介绍下该怎么编译(其实就四部):
1 确定HIP/ROCM所有组件安装完成;
2 下载CUB(上一步中hipcub确定安装完成)
3 进入lammps下lib/gpu目录,编译hip,make -f Makefile.hip -j8 (Makefile.hip 文件中hipcub目录原value=-I./改成自己cub的解压路径)
4 进入src目录,make -j8 ,在src目录下找到lmp_hip。
==================================================================================
欢迎大家讨论