|
本帖最后由 snljty 于 2021-11-2 18:00 编辑
刚编译了一下QE 6.8的GPU版本,借宝地做一下记录。
QE 6.8版本不管是GPU版本还是CPU版本都需要下载一个devxlib,这对不能联互联网的机器很麻烦。可以自己手动下载一个
devicexlib-master.tar.gz
然后传上去,放到QE 6.8源代码解压后的external目录内,- tar -xzf devicexlib-master.tar.gz
复制代码 解压,删掉原来的devxlib空目录,把解压后的目录devicexlib-master重命名为devxlib(此时可删掉devicexlib-master.tar.gz压缩包)即可。
硬件是Intel Xeon Silver 4214R,12核双路,配2块Nvidia Geforce RTX 3080Ti。怎么查架构对应的编号看7楼,基本20系都是75,30系都是86。
编译使用openmpi-4.1.1(使用nvhpc-21.9-nompi编译),cuda-11.4,intel oneAPI中的mkl和nvhpc-21.9-nompi环境(目前版本是2021.4.0),编译前加载这些环境(如有不明白这步的,可以留言交流。)。编译openmpi的步骤同楼主。然后设定环境变量指定编译器为pgi系列。
配置QE编译用的选项是
- ./configure --prefix=xxxxxx --with-cuda=/usr/local/cuda-11.4 --with-cuda-runtime=11.4 --with-cuda-cc=86 --enable-openmp --with-scalapack=intel F90=`which pgfortran` CC=`which pgcc` MPIF90=`which mpif90`
复制代码
写了MKL但是编译时候没有检测到用到,比较疑惑,有时间再排查问题。
然后
- make pw cp pp -j 24
- make install
复制代码
即可。
没什么时间做测试,简单跑了一下上面的硅任务。
Silver 4214R单颗(12核):42.77s
Silver 4214R单核+1块RTX 3080Ti: 40.19s
均为Wall time
待更新 |
|