|
其实编译VASP5.4.4已经没啥好说的,社长的教程,刘博士的视频照着做都应该没有问题。
我的问题主要出在使用oneapi上,最开始直接下载了当时最新的oneapi 2021.3,编译很顺利,运行vasp_std正常出结果,但是mpirun的时候没有报错,没有scf输出,直接卡住了。
接下来想找旧一些版本的oneapi来重新编译,没有在官网上找到历史版本的下载接口,好在知乎上有人记录了wget 2021.1版本,重新下载Oneapi 2021.1,当时看起来一切正常,任务能跑。稍微让我有点疑虑的有几点,一是OUTCAR中的计算时间user time 和system time居然是相当的,二是不同核数并行的耗时差不多,总任务耗时和超算的E5-2690 V4对比差不太多,没有再详细对比。
使用了一段时间后,一运行vasp就出现segmentation fault报错,各种ulimit操作都用了也毫无办法。请教了专家,在编译的时候FFLAGS 加了heap-arrays 64重新编译,然后可以恢复运行,这时候用vasp_gam做了一些计算,发现在vasp_gam得到的结果中,system time居然是远低于user time的,就此又咨询了一些高人,才真正意识到编译的有问题,机器的性能根本没有发挥出来。
接下来用各种编译器重新编译,包括Oneapi 2021.4,2017和2019版本的parallelstudio,Oneapi的问题仍然是不进行电子scf计算。使用2017编译,在一开始parse icpc的时候直接报错跑去调用gcc了,更换2019也有同样的问题,高人指点下把GXX_PARS = icpc 后面加上 -ansi,然后顺利编译,新的vasp_std运算的system time也正常了。Makefile.include在Make file.include.intel的基础上只修改了以下内容,不知道为何,-xhost编译会报错,-xcore-avx2能够顺利编译。
FFLAGS = -assume byterecl -w -heap-arrays 64
OFLAG = -O2 -xcore-avx2
OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o $(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.a
CXX_PARS = icpc -ansi
|
评分 Rate
-
查看全部评分 View all ratings
|