|
本帖最后由 abin 于 2021-9-12 10:46 编辑
请自行确认一下toolchain组件的链接情形,
可能也看不出来啥,只能看到链接到MKL。
部分组件使用intel编译器无法通过的。
一般而言,本地编译的,如果优化参数搞对,
应该会比官方的二进制版本快。
8.2 使用intel编译器,处理libxc 5.1.4 5.1.5 5.1.6都会报错。
修改源码后,能编译,不过算例一堆错误的。
8.2使用 GNU+MKL,可以通过所有算例。
使用intel编译器和MKL,算例有645个Wrong.
其实,使用GCC10+MKL,就很快的。
不见得比intel编译器慢。
使用官方推荐的工具链,会更加稳定而已。
另,如果全局设定intel编译器,
就可以所有组件使用英特尔编译器来编译的话,
那之前刘博士的那篇讨论编译的文章,
岂不是多此一举?
补充一下: [hpc4you] toolchain > which mpicc
/opt/intel/compilers_and_libraries_2018.5.274/linux/mpi/intel64/bin/mpicc
[hpc4you] toolchain > which mpiicc
/opt/intel/compilers_and_libraries_2018.5.274/linux/mpi/intel64/bin/mpiicc
[hpc4you] toolchain >
注意差异!!!
intelMPI, 既可以搭配自家的编译器工作, 使用mpiicc等.
也可以搭配GNU套件来工作, 使用mpicc.
另, 修改Makefile, 里面有一行, ssmp --> psmp就可以得到psmp版本.
楼上有位朋友有提到,
官方arch中, 有
Linux-x86-64-intel-minimal.psmp
Linux-x86-64-intel-regtest.psmp
如果无特殊组件需求,
使用这两个, 是采用intel编译器, intelMPI, MKL来处理, 速度挺好的.
文件前几行, 就告诉你用啥工具链了. 比如: Linux-x86-64-intel-regtest.psmp
# Tested with: Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 18.0.5.274 Build 20180823
# Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.1.217 Build 20200306
# Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.3.304 Build 20200925
# Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.1 Build 20201112
# Intel MPI, MKL, LIBINT 2.6.0, LIBXC 5.1.4, LIBXSMM 1.16.1, ELPA 2020.11.001, PLUMED 2.6.2, SPGLIB 1.16.0,
# LIBVORI 210412, SIRIUS 7.0.2
# Author: Matthias Krack (matthias.krack@psi.ch, PSI, May 2021)
当然, 需要事前使用intel编译器, 处理好,
ELPA
LIBINT
LIBVORI
LIBXC
LIBXSMM ---> 严重影响计算速度
SIRIU
SPGLIB
以上仅代表个人言论。
|
|