BARBECUE的个人博客分享 http://blog.sciencenet.cn/u/BARBECUE

博文

常见vasp编译问题

已有 3558 次阅读 2022-10-12 11:50 |个人分类:vasp知识点|系统分类:科研笔记|文章来源:转载

【转载】来自:https://hpc.buct.edu.cn/2018/0918/c1084a8252/page.htm

问:编译vasp出现“undefinedreference to XXX”链接错误如何解决?

答:这个应该是配置vasp的库有问题,查找fftw,mpi,mkl之类的库路径是否正确,makefile里面的库名字是否正常,例如openmpi库,但编译时候却是使用mpich库,库不匹配。


问:vasp编译成功,但运行时报forrtl:severe (174): SIGSEGV错误?

答:有可能因为Makefile里面指定的libmkl_blacs_intelmpi_lp64  #这里指定的是intelmpi,而提交作业的时候,使用的是openmpi。

问:运行vasp报mpirunnoticed that process rank 9 with PID 19320 on node localhost exited on signal11 (Segmentation fault)错误?

答:编译的时候,应该没有添加 -heap-arrays  64 选项。如果不想重新编译可以尝试使用ulimit -s unlimited 命令,如果不好用,那么只能重新编译。

 

问:编译vasp时候提示Cannotopen include file 'fftw3.f'?

答:将fftw3.f 文件拷贝到vasp编译目录下面。


问:使用ldd查看vasp文件时候,库文件明明存在,但就是显示无法找到?

答:有可能存在的那个库文件是32位,因为本机是64位,所以检测的时候无法通过,就告诉你找不到,使用file文件查看那个库文件,看看是否位数不匹配。


问:编译vasp时候,显示很多flag错误,参数没有找到?

答:有可能是因为你使用的编译器有问题,例如mpif90是基于gfortran的,而并非是intel的,所以安装openmpi或者mpich2版本的时候,编译器需要指定编译器,configure生成makefile时指定CC=icc CXX=icpc FC=ifort就可以了。


问:编译vaspcuda版本,提示forrtl:severe (174): SIGSEGV, segmentation fault occurred,CUDAError in cuda_fft.cu, line 323: invalid device function

 Failed to execute cuda_fftwav!错误?

答:这个应该是GPU的显卡显存太低,最少需要5GB的显存,才可通过。但这个不是硬性条件,修改makefile.include 编译参数

GENCODE_ARCH  这一行的30改成20 35改成20

改成最小的,然后向后慢慢提升,看看最终哪个最合适,就可以了。可以通过nvcc  --help查看--gpu-architecture参数。


问:编译vasp报electron_all.F(38):error #7002: Error in opening the compiled module file.  Check INCLUDEpaths. USE choleski错误?

答:报这个错误,是因为include库文件路径错误。手动添加。

编辑makefile.include文件

BLACS      =-lmkl_blacs_openmpi_lp64 修改成

BLACS      =-L$(MKL_PATH) -lmkl_blacs_openmpi_lp64




https://blog.sciencenet.cn/blog-3486020-1359103.html

上一篇:vasp计算不收敛问题
下一篇:NELMDL
收藏 IP: 153.34.54.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-10-20 07:16

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部