软件安装实战系列· 02
Ubuntu 22.04 + Intel oneAPI 2023.1 + Intel MPI + MKL
从离线安装 oneAPI、生成 MKL FFTW wrapper、配置 makefile.include 到三版本验收
适用系统 | Ubuntu 22.04 LTS(服务器 / 工作站) |
目标版本 | VASP 5.4.4 |
编译路线 | Intel oneAPI 2023.1 + Intel MPI + Intel MKL |
文章定位 | 可复现教程 + 工程化部署与排错思路 |
云算科技
高性能计算|科研服务|软件支持
版本:2026年7月
写在前面
VASP 的安装经常被概括成“准备源码、改一份 makefile.include、执行 make”。真正进入服务器环境后,问题远不止这些:Intel 编译器、Intel MPI 和 MKL 是否来自同一套 oneAPI,FFTW 接口库是否已经生成,旧版 VASP 对 Fortran 模块依赖是否允许并行编译,以及最终交付给普通用户时能否稳定调用,都会直接决定安装是否可靠。
这篇文章以 Ubuntu 22.04、VASP 5.4.4 和 Intel oneAPI 2023.1 为例,完整拆解一条 CPU 并行编译路线。文章不只给命令,还会解释每一步为什么要做、应该看到什么结果,以及失败后应该从哪一层开始排查。
授权与版权说明 VASP 是商业授权软件。本文只讲安装方法,不转发 VASP 源码与赝势文件。 |
我们内部已经把环境检查、路径识别、makefile.include 生成、串行编译、日志记录和验收测试封装为一键安装脚本,也可通过远程方式完成部署。但一键脚本并不是“跳过技术细节”,而是把已经验证过的技术细节固化下来。本文仍以读者能够独立完成和判断为目标。
文章目录
1.先理解:VASP 安装时到底在组合哪些组件
2.部署目标、安装包与目录规划
3.安装系统依赖与 Intel oneAPI 离线套件
4.加载并检查 Intel 编译环境
5.生成 MKL FFTW3 Fortran wrapper
6.解压源码并定位真正的 VASP 根目录
7.配置 makefile.include:每一段在解决什么问题
8.依次编译 vasp_std、vasp_gam 与 vasp_ncl
9.配置用户环境:PATH 与 modulefile 两种方式
10.赝势库管理与第一个实际算例
11.Slurm 集群提交脚本
12.高频报错与排查顺序
13.一键安装脚本应该具备哪些能力
14.最终验收清单与服务说明
1. 先理解:VASP 安装时到底在组合哪些组件
一次可用的 VASP 构建,本质上是在把四层组件组合成一个稳定的运行环境:
层级 | 本文采用的组件 | 主要作用 |
编译器 | Intel Fortran / Intel C/C++ | 把 VASP 的 Fortran、C 与解析器源码编译为目标文件 |
并行环境 | Intel MPI | 提供 mpiifort、mpirun 及跨进程通信 |
数学库 | Intel MKL | 提供 BLAS、LAPACK、ScaLAPACK、BLACS 与 FFT 接口 |
应用程序 | VASP 5.4.4 | 生成 vasp_std、vasp_gam 与 vasp_ncl |
本文选择 Intel oneAPI 路线的一个直接好处,是编译器、MPI 和数学库来自同一套工具链,不需要额外混入 OpenMPI、MPICH、OpenBLAS 或系统版 ScaLAPACK。这样可以显著降低“编译时使用一套 MPI、运行时却加载另一套 MPI”的风险。
最常见的误区 看到 mpiifort、mpirun 和 MKLROOT 都存在,并不代表环境一定正确。还要确认它们来自同一套 /opt/intel/oneapi 路径,并在实际链接与运行测试中验证。 |
2. 部署目标、安装包与目录规划
本文目标是在一台 Ubuntu 22.04 服务器上构建 VASP 5.4.4 的三个 CPU 可执行文件:
程序 | 典型用途 | 使用建议 |
vasp_std | 结构优化、SCF、能带、DOS、绝大多数常规计算 | 默认优先使用 |
vasp_gam | 只使用 Gamma 点的大超胞计算 | 确认 KPOINTS 确实是 Gamma-only |
vasp_ncl | 非共线磁性与自旋轨道耦合(SOC) | SOC / noncollinear 任务使用 |
2.1 推荐目录
/opt/software/ # 安装包统一存放目录/opt/vasp/ # VASP 安装根目录/opt/vasp/vasp.5.4.4/ # 实际源码与编译目录(示例)/opt/vasp/potpaw/ # 赝势库目录/opt/modulefiles/vasp/ # 可选:Environment Modules 文件 |
2.2 需要准备的安装包
l_BaseKit_p_2023.1.0.46401_offline.shl_HPCKit_p_2023.1.0.46346_offline.shvasp.5.4.4.tar.gzpotpaw_PBE.54.tar.gz # 可选:合法授权的赝势库 |
离线服务器要特别注意 BaseKit 和 HPCKit 应使用文件名带 _offline 的完整离线安装包。没有 _offline 的安装器通常会在执行时联网下载组件,内网或受限网络环境下会直接失败。 |
3. 安装系统依赖与 Intel oneAPI 离线套件
3.1 安装基础工具
sudo apt updatesudo apt install -y build-essential make gcc g++ gfortran perl csh vim wget curl tar gzip bzip2 xz-utils python3 python3-pipgcc --versiong++ --versiongfortran --versionmake --version |
这里安装系统 GCC/GFortran 主要是为了提供通用构建工具和排错能力,VASP 的主编译仍走 Intel oneAPI。安装完成后不要把系统 OpenMPI 或其他 MPI 路径写进环境变量。
3.2 安装 BaseKit 与 HPCKit
cd /opt/softwarechmod +x l_BaseKit_p_2023.1.0.46401_offline.shchmod +x l_HPCKit_p_2023.1.0.46346_offline.shsudo ./l_BaseKit_p_2023.1.0.46401_offline.sh -a --silent --eula acceptsudo ./l_HPCKit_p_2023.1.0.46346_offline.sh -a --silent --eula accept |
默认安装根目录通常为 /opt/intel/oneapi。BaseKit 提供 MKL 等基础组件,HPCKit 提供 HPC 编译器和 Intel MPI。两者都装完后再继续。
3.3 遇到 Text file busy 怎么办
如果安装脚本刚通过 SFTP、Xftp、WinSCP 或 MobaXterm 上传,文件可能仍被传输进程占用。先检查:
sudo fuser -v ./l_HPCKit_p_2023.1.0.46346_offline.sh |
确认上传结束后,可以关闭上传客户端,或复制到 /tmp 再安装:
cp l_HPCKit_p_2023.1.0.46346_offline.sh /tmp/hpckit.shchmod +x /tmp/hpckit.shsudo sh /tmp/hpckit.sh -a --silent --eula accept |
4. 加载并检查 Intel 编译环境
source /opt/intel/oneapi/setvars.shwhich ifortwhich mpiifortwhich mpiiccwhich mpiicpcwhich mpirunecho "$MKLROOT" |
在本文指定的 oneAPI 2023.1 环境中,正常结果应指向 /opt/intel/oneapi 下的编译器、MPI 和 MKL 路径。例如 mpiifort 应来自 Intel MPI,MKLROOT 应指向 oneAPI 的 MKL 目录。
停止条件 只要 mpiifort、mpirun 或 MKLROOT 为空,就不要继续修改 VASP 源码。先解决 oneAPI 安装或环境加载问题,否则后续报错只会更难定位。 |
4.1 临时加载与长期加载
当前终端临时使用时,执行 source setvars.sh 即可。单用户工作站也可以写入 ~/.bashrc:
echo 'source /opt/intel/oneapi/setvars.sh > /dev/null 2>&1' >> ~/.bashrcsource ~/.bashrc |
多用户服务器更推荐使用 Environment Modules 或 Lmod 管理 oneAPI,避免把管理员环境永久写入每位用户的 shell。后文会给出 VASP modulefile 的思路。
5. 生成 MKL FFTW3 Fortran wrapper
VASP 5.4.4 的 Intel 配置通常会引用 MKL 提供的 FFTW3 Fortran 接口静态库:
$MKLROOT/interfaces/fftw3xf/libfftw3xf_intel.a |
该文件在很多 oneAPI 安装中不会预先生成,因此需要在编译 VASP 前手动构建。
source /opt/intel/oneapi/setvars.shcd "$MKLROOT/interfaces/fftw3xf"make cleanmake libintel64 compiler=intells -lh "$MKLROOT/interfaces/fftw3xf/libfftw3xf_intel.a" |
为什么这一步不能省 makefile.include 会把 libfftw3xf_intel.a 作为目标文件直接加入链接。如果文件不存在,VASP 还没进入真正的源码编译就会因 “No rule to make target” 失败。 |
6. 解压源码并定位真正的 VASP 根目录
sudo mkdir -p /opt/vaspcd /opt/vasptar -zxvf /opt/software/vasp.5.4.4.tar.gzfind /opt/vasp -maxdepth 4 -type f -name makefile |
不同来源的压缩包可能只有一层目录,也可能出现 vasp.5.4.4/vasp.5.4.4 这样的双层目录。真正的源码根目录应同时包含 arch、bin、build、src 和 makefile。
cd /opt/vasp/vasp.5.4.4 # 单层目录示例# 或cd /opt/vasp/vasp.5.4.4/vasp.5.4.4 # 双层目录示例ls# 预期:arch bin build src makefile |
不要凭目录名猜路径 后续 makefile.include、bin/、build/ 都依赖当前工作目录。自动安装脚本应通过查找顶层 makefile 和 arch/src 目录来识别真实根目录,而不是把路径写死。 |
7. 配置 makefile.include:每一段在解决什么问题
先复制 VASP 自带的 Intel 模板并保留备份:
cp arch/makefile.include.linux_intel makefile.includecp makefile.include makefile.include.bak |
下面给出适用于本文环境的核心配置。实际部署时应先通过 which 与 echo 检查当前编译器和 MKLROOT,再根据机器路径调整。
7.1 预处理选项与 MPI / ScaLAPACK
CPP_OPTIONS = -DHOST="LinuxIFC" \-DMPI -DMPI_BLOCK=8000 -Duse_collective \-DscaLAPACK \-DCACHE_SIZE=4000 \-Davoidalloc \-Dtbdyn \-Dfock_dblbufCPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS) |
这里启用 MPI 和 ScaLAPACK,并保留 VASP 5.4.4 常见的内存与算法宏。不要在没有报错的情况下随意增加旧补丁宏,尤其是 LAPACK36。
7.2 Intel Fortran 与优化选项
FC = mpiifortFCL = mpiifortFREE = -free -names lowercaseFFLAGS = -assume byterecl -wOFLAG = -O2OFLAG_IN = $(OFLAG)DEBUG = -O0VASP_TARGET_CPU ?= -xHOSTFFLAGS += $(VASP_TARGET_CPU) |
-xHOST 会针对当前 CPU 指令集优化,适合同型号节点。如果编译节点和计算节点型号不同,或者二进制需要跨代 CPU 使用,应删除该参数或改成更保守的目标指令集,否则程序可能在其他节点出现 illegal instruction。
7.3 内部库、共享内存对象与解析器
CPP_LIB = $(CPP)FC_LIB = $(FC)CC_LIB = iccCFLAGS_LIB = -OFFLAGS_LIB = -O1FREE_LIB = $(FREE)OBJECTS_LIB = linpack_double.o getshmem.oCXX_PARS = icpcLIBS += parserLLIBS += -Lparser -lparser -lstdc++ |
getshmem.o 用于提供旧版 VASP 所需的共享内存相关符号,可以避免链接阶段出现 detachshmem_C 未定义。
icc / icpc 不存在时 oneAPI 2023.1 通常仍可提供经典编译器。如果系统只有 icx / icpx,可把 CC_LIB 改为 icx、CXX_PARS 改为 icpx。本文的 Fortran 主路线仍是 mpiifort;如果只剩 mpiifx,需要单独做 VASP 5.4.4 兼容性验证,不建议机械替换后直接用于生产计算。 |
7.4 MKL、ScaLAPACK、BLACS 与 FFTW 接口
MKLROOT ?= /opt/intel/oneapi/mkl/2023.1.0FCL += -mkl=sequentialLLIBS += -L$(MKLROOT)/lib/intel64 \-lmkl_scalapack_lp64 \-lmkl_blacs_intelmpi_lp64OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \$(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.aINCS = -I$(MKLROOT)/include/fftwOBJECTS_O1 += fft3dfurth.o fftw3d.o fftmpi.o fftmpiw.oOBJECTS_O2 += fft3dlib.o |
这里使用 sequential MKL 线程层,把并行主要交给 MPI,避免 MPI 进程与 MKL/OpenMP 线程无意叠加。运行时仍建议显式设置 OMP_NUM_THREADS=1。ScaLAPACK 与 BLACS 必须使用 Intel MPI 对应的 blacs_intelmpi 版本。
7.5 暂时不要修改 src/symbol.inc
有些旧教程会一开始就在 CPP_OPTIONS 中加入 -DLAPACK36,并修改 src/symbol.inc。本文建议先保持源码原样,只有链接阶段明确出现 undefined reference to dgegv_ 时再处理:
# 在 CPP_OPTIONS 中增加:-DLAPACK36# 在 src/symbol.inc 中成对加入:#ifdef LAPACK36#define DGEGV DGGEV#endif |
条件宏必须成对 如果 #ifdef 与 #endif 没有正确配对,预处理阶段会报 “#if without #endif”。没有 dgegv_ 链接错误时,不要主动修改 symbol.inc。 |
8. 依次编译 vasp_std、vasp_gam 与 vasp_ncl
VASP 5.4.4 的 Fortran 模块依赖对并行 make 比较敏感。prec.mod、mpimy.mod 等模块文件如果尚未生成就被其他源文件引用,编译会随机失败。因此本文采用串行构建。
cd /opt/vasp/vasp.5.4.4 # 请替换为真实源码根目录source /opt/intel/oneapi/setvars.shunset MAKEFLAGSmake verycleanrm -rf build/std build/gam build/nclmake stdmake gammake ncl |
不要为了“更快”直接加 -j 不建议使用 make -j4 std、make -j8 std 或 make -j all。旧版 VASP 的模块依赖不完整,并行编译造成的失败往往具有随机性,反而增加排查成本。 |
编译完成后检查三个文件:
ls -lh bin/file bin/vasp_std bin/vasp_gam bin/vasp_ncl |
9. 配置用户环境:PATH 与 modulefile 两种方式
9.1 单用户工作站:写入 ~/.bashrc
echo 'source /opt/intel/oneapi/setvars.sh > /dev/null 2>&1' >> ~/.bashrcecho 'export PATH=/opt/vasp/vasp.5.4.4/bin:$PATH' >> ~/.bashrcecho 'export VASP_PP_PATH=/opt/vasp/potpaw' >> ~/.bashrcecho 'export OMP_NUM_THREADS=1' >> ~/.bashrcecho 'ulimit -s unlimited' >> ~/.bashrcsource ~/.bashrc |
如果源码是双层目录,应把 PATH 改成实际 bin 所在位置。不要因为文档示例路径不同就盲目照抄。
9.2 多用户服务器:推荐 modulefile
服务器上更推荐把 Intel 编译环境先封装为 env/intel/oneapi,再创建 VASP 入口模块。这样用户只需 module load vasp/5.4.4-intel,不会在 ~/.bashrc 中长期堆积路径。
#%Module1.0proc ModulesHelp { } {puts stderr "VASP 5.4.4 built with Intel oneAPI 2023.1"}module-whatis "VASP 5.4.4 Intel oneAPI build"conflict vaspif { [module-info mode load] } {module load env/intel/oneapi}set root /opt/vasp/vasp.5.4.4prepend-path PATH $root/binsetenv VASP_HOME $rootsetenv VASP_PP_PATH /opt/vasp/potpawsetenv OMP_NUM_THREADS 1 |
modulefile 负责交付路径和运行变量,底层 Intel 编译器、MPI 与 MKL 由 env/intel/oneapi 统一管理。这样更利于后续并存 VASP 6、GNU 版本或其他软件环境。
10. 赝势库管理与第一个实际算例
VASP 运行时读取的是当前计算目录中的 POTCAR,而不是自动从 VASP_PP_PATH 中挑选元素。VASP_PP_PATH 只是便于脚本或用户定位合法赝势库。
sudo mkdir -p /opt/vasp/potpawcd /opt/vasp/potpawsudo tar -zxvf /opt/software/potpaw_PBE.54.tar.gzsudo chmod -R a+rX /opt/vasp/potpaw |
赝势同样受授权约束 不要把 POTCAR、完整 PAW 赝势库或由其拼接出的文件上传到公开仓库、网盘或公开文章附件。 |
10.1 构造一个最小 Si 测试目录
mkdir -p ~/vasp_test_sicd ~/vasp_test_sicat > INCAR <<'EOF'SYSTEM = Si installation testENCUT = 400EDIFF = 1E-6ISMEAR = 0SIGMA = 0.05IBRION = -1NSW = 0LREAL = .FALSE.EOFcat > POSCAR <<'EOF'Si5.4300.0 0.5 0.50.5 0.0 0.50.5 0.5 0.0Si2Direct0.00 0.00 0.000.25 0.25 0.25EOFcat > KPOINTS <<'EOF'Automatic mesh0Gamma4 4 40 0 0EOF |
再从课题组合法赝势库中复制或拼接 Si 的 POTCAR。不同赝势包的目录层级可能不同,执行前先用 find 定位:
find "$VASP_PP_PATH" -type f -path '*/Si/POTCAR'# 确认目标后,例如:cp /opt/vasp/potpaw/potpaw_PBE.54/Si/POTCAR ./POTCAR |
10.2 三级验收
·第一层 - 入口检查:which vasp_std / vasp_gam / vasp_ncl 与 which mpirun 均指向预期路径。
·第二层 - 链接检查:ldd bin/vasp_std 中的 Intel MPI、MKL 与 Fortran runtime 没有 not found。
·第三层 - 计算检查:使用完整 INCAR、POSCAR、POTCAR、KPOINTS 运行一个小算例,并确认正常进入电子迭代。
which vasp_stdwhich vasp_gamwhich vasp_nclwhich mpirunecho "$MKLROOT"ldd "$(which vasp_std)" | grep -E 'mpi|mkl|ifcore|not found' || truempirun -np 4 vasp_std > vasp.out 2>&1tail -n 50 vasp.out |
输出中能够看到 running on 4 total cores、VASP 版本信息以及 DAV: 或 RMM: 电子迭代,才说明程序不仅“编译出了文件”,而且可以在当前 MPI 环境中完成实际启动。
11. Slurm 集群提交脚本
在 Slurm 集群上,应在作业脚本中显式加载 oneAPI 与 VASP 环境,不要依赖登录节点临时执行过的 source。
#!/bin/bash#SBATCH -J vasp_test#SBATCH -N 1#SBATCH --ntasks-per-node=16#SBATCH -p compute#SBATCH -o vasp.out#SBATCH -e vasp.errsource /opt/intel/oneapi/setvars.sh > /dev/null 2>&1export PATH=/opt/vasp/vasp.5.4.4/bin:$PATHexport OMP_NUM_THREADS=1ulimit -s unlimitedmpirun -np "$SLURM_NTASKS" vasp_std |
部分集群已经把 Intel MPI 与 Slurm PMI 集成,可由管理员规范使用 srun。选择 mpirun 还是 srun 应服从集群实际配置,不能只根据网上模板替换。提交与查看任务:
sbatch vasp.slurmsqueue -u "$USER" |
12. 高频报错与排查顺序
12.1 Intel Graphics Compute Runtime for OpenCL not found
这是 oneAPI 安装器对 Intel GPU OpenCL 运行时的提示,不等于 VASP CPU 编译失败。只要 ifort、mpiifort、mpirun 和 MKLROOT 正常即可。
12.2 BaseKit 安装时报无法联网
通常是误用了在线安装器。确认文件名是否带 _offline,并检查安装包尺寸是否完整。
12.3 No rule to make target libfftw3xf_intel.a
说明 MKL FFTW wrapper 尚未生成,或者 makefile.include 中的 MKLROOT 与当前环境不一致。重新加载 oneAPI,并在 $MKLROOT/interfaces/fftw3xf 下执行 make libintel64 compiler=intel。
12.4 undefined reference to detachshmem_C
检查 OBJECTS_LIB 是否包含 getshmem.o,然后 veryclean 后重新串行编译。
grep -n 'OBJECTS_LIB' makefile.include# 应包含:OBJECTS_LIB = linpack_double.o getshmem.o |
12.5 prec.mod 或 mpimy.mod 找不到
大概率是使用了并行 make,导致 Fortran 模块生成顺序混乱。清理 build 目录并串行重编:
unset MAKEFLAGSmake verycleanrm -rf build/std build/gam build/nclmake std |
说明 src/symbol.inc 中的条件宏不成对。没有 dgegv_ 错误时,优先恢复备份,不要保留 LAPACK36 修改。
12.7 undefined reference to dgegv_
确认错误确实发生在最终链接阶段后,再启用 -DLAPACK36,并在 symbol.inc 中成对映射 DGEGV 到 DGGEV。修改后必须 veryclean。
12.8 编译成功,运行却加载了错误的 MPI
先执行 which mpirun、which mpiifort,再查看 ldd vasp_std。常见原因是 ~/.bashrc 中残留了 OpenMPI 路径,或者作业脚本没有加载 oneAPI。排错时应先 module purge 或开启干净 shell,再只加载 Intel 环境。
13. 一键安装脚本应该具备哪些能力
真正可靠的一键安装,不是把本文命令从上到下拼成一个 bash 文件。它至少应处理以下工程问题:
能力 | 脚本应做什么 |
授权边界 | 只读取用户提供的合法源码与赝势包,不内置、不下载、不转发受许可文件 |
前置检查 | 检查 root 权限、Ubuntu 版本、磁盘空间、安装包完整性和 oneAPI 组件 |
环境隔离 | 清理残留 MPI/编译器变量,只加载指定 Intel oneAPI 环境 |
路径识别 | 自动识别单层或双层 VASP 源码目录,校验 arch/src/makefile |
依赖生成 | 检测并生成 libfftw3xf_intel.a,验证 MKLROOT |
配置生成 | 按实际 icc/icpc 或 icx/icpx 生成 makefile.include,并保留备份 |
稳健编译 | 强制清理旧 build,取消 MAKEFLAGS,串行编译 std/gam/ncl |
日志与失败点 | 保存完整日志,任何一步失败立即停止,不继续输出“安装完成” |
环境交付 | 生成 modulefile 或明确的用户环境脚本,不污染全局 shell |
验收与回滚 | 检查二进制、动态库、MPI 启动和小算例;重复执行时可安全覆盖或回滚 |
这也是手工安装与专业交付之间的差别:手工命令解决一次问题,工程化脚本要解决重复执行、不同机器差异、失败恢复和后续维护。
14. 最终验收清单
检查项 | 合格标准 |
oneAPI 环境 | ifort / mpiifort / mpirun / MKLROOT 均来自预期 oneAPI 路径 |
FFTW wrapper | libfftw3xf_intel.a 已生成且 makefile.include 路径一致 |
编译结果 | vasp_std、vasp_gam、vasp_ncl 三个二进制均存在 |
运行库 | ldd 无 not found,MPI 与 MKL 未串到系统其他版本 |
用户入口 | 普通用户可通过 PATH 或 module load 找到程序 |
资源设置 | OMP_NUM_THREADS=1,栈大小设置合理 |
赝势管理 | 赝势库权限正确,任务目录中的 POTCAR 来源合法且元素顺序正确 |
实际计算 | 至少完成一次 4 进程小算例,输出正常进入电子迭代 |
集群任务 | Slurm 脚本在计算节点加载正确环境并可正常结束 |
交付文档 | 记录版本、路径、编译器、MPI、MKL、module 名称和测试结果 |
安装完成之后:从编译成功走向长期可用
VASP 5.4.4 的编译命令并不算多,真正消耗时间的是环境一致性、旧版源码兼容、路径差异和错误定位。只要坚持“先验证工具链,再生成依赖,再配置源码,最后做实际算例”的顺序,大多数问题都能被限制在清晰的一层,而不是在最终链接阶段一次性爆发。
后续的软件安装实战系列还会继续覆盖不同第一性原理、分子动力学、有限元与高性能计算软件。每篇文章都会尽量给出可以照做的步骤,同时解释为什么这样配置,以及怎样判断结果是真的可用。
不想自己处理环境,也可以交给我们 云算科技可提供 VASP 及其他科研软件的远程安装与环境配置服务。我们使用经过实际服务器验证的一键安装脚本,并根据 CPU 平台、操作系统、编译器、MPI、数学库、Slurm 与已有软件环境进行适配。交付不仅包含可执行文件,还包括环境入口、版本与路径记录、运行测试和基础使用说明。VASP 源码及赝势仍由具备合法授权的客户自行提供。 |
建议咨询时准备的信息
·服务器操作系统与版本,例如 Ubuntu 22.04;
·CPU 型号、节点数量以及是否使用 Slurm;
·计划安装的 VASP 版本与已有合法源码包;
·希望使用 Intel、GNU 或 AMD 编译环境;
·服务器是否能联网,以及是否已有 oneAPI / MPI / MKL;
·是否需要多版本并存、modulefile、赝势目录规划与测试算例。
— 软件安装实战系列 · VASP 5.4.4 / Intel oneAPI —

夜雨聆风