首页/新闻资讯/正文详情

VASP 6.3.2 安装教程续:2024 Intel OneAPI 编译配置与运行测试

发布时间:2026/9/26 3:19:35 来源:云帆数科 栏目:资讯中心
VASP 6.3.2 安装教程续:2024 Intel OneAPI 编译配置与运行测试
1. 为什么 2024 年重装 VASP 6.3.2 会卡在编译这一步如果你在 2023 年跟着老教程装过 VASP 6.3.22024 年再照做大概率会在make all阶段翻车。原因不复杂Intel 在 2024 版 OneAPI 里把编译器前端从icc/icpc换成了icx/icpxifort虽然还在但默认行为有调整MKL 里fftw3xf的接口目录也挪了位置。老makefile.include里写死的CC_LIB icc会直接报 command not found或者链接阶段找不到libmkl_blacs_intelmpi_ilp64.so.2。这篇是续篇假设你已经装好了 Ubuntu物理机或 WSL2 都行、装好了 2024 版 Intel OneAPI 的 Base Toolkit 和 HPC Toolkit、也拿到了vasp.6.3.2.tgz。我要交付的是三样东西一份能直接复制的makefile.include骨架、一组环境变量配置、以及一次完整的运行测试验证动作。目标很明确——让你确认编译出来的vasp_std真的能跑而不是编译完就扔那儿。适合谁看已经装完基础环境、卡在编译或运行测试环节的科研用户。如果你连 OneAPI 都还没装先去把 Base Toolkit 和 HPC Toolkit 装完再回来那部分不是本篇重点。先说结论2024 版 OneAPI 下 VASP 6.3.2 能编过但需要改三处——编译器变量、FFTW 接口路径、以及运行时的动态库路径。下面按顺序来。2. 编译前的环境确认与 TaoToken 前置说明在动makefile.include之前先确认 OneAPI 环境变量能正常加载。这一步很多人跳过结果后面报错找不到icx又回头查半天。source /opt/intel/oneapi/setvars.sh which icx which icpx which ifort which mpirun echo $MKLROOT四条which都要返回具体路径MKLROOT要指向/opt/intel/oneapi/mkl/2024.x。如果mpirun没返回说明 HPC Toolkit 的 MPI 没进 PATH后面单独处理。这里插一句关于 TaoToken 的位置。VASP 编译本身是纯本地计算不依赖任何在线服务。但编译过程中如果遇到报错想快速查资料、或者想把 INCAR 参数、KPOINTS 设置拿去和模型对话确认可以用 TaoToken 的模型对话入口做辅助排查。它的 API 地址是 https://taotoken.net/api 模型对话 deep link 是 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel_chat 。注意这是辅助查资料用的不是编译依赖别搞混。如果你后面要长期跑 VASP 任务、写脚本做批量提交或者用 Agent 类工具管理计算流程可以看 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding_plan 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc API Keys 管理在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi_keys 。这些是给后续工作流用的编译阶段用不上。回到编译。确认环境没问题后先编译 MKL 的 FFTW 接口这是 2024 版最容易踩的坑。3. 可复制的 makefile.include 骨架与 FFTW 接口编译3.1 先编 libintel642024 版 OneAPI 的fftw3xf目录变了老教程里的路径找不到。实际位置在/opt/intel/oneapi/mkl/2024.0/share/mkl/interfaces/fftw3xf如果你的 OneAPI 装在 home 目录下就是~/intel/oneapi/mkl/2024.0/share/mkl/interfaces/fftw3xf。cd 进去之后cd /opt/intel/oneapi/mkl/2024.0/share/mkl/interfaces/fftw3xf source /opt/intel/oneapi/setvars.sh make libintel64成功后当前目录会出现libfftw3xf_intel.a。这个文件后面链接要用记下路径。3.2 解压与复制模板tar -zxvf vasp.6.3.2.tgz cd vasp.6.3.2 cp arch/makefile.include.intel makefile.include3.3 修改 makefile.include用 vim 打开makefile.include重点改这几处。2024 版必须把icc/icpc换成icx/icpx# 预编译头与编译器 CPP_OPTIONS -DHOST\LinuxIFC\ -DMPI -DMPI_BLOCK8000 -Duse_collective \ -DscaLAPACK -Duse_shmem -DNGZhalf -DCACHE_SIZE4000 \ -Davoidalloc -Duse_bse_te -Dtbdyn -Dfock_dblbuf CPP icpx -E -P -C -w FC mpif90 -m64 -I/opt/intel/oneapi/mkl/2024.0/include/fftw FCL mpif90 -m64 -I/opt/intel/oneapi/mkl/2024.0/include/fftw # 关键2024 版用 icx/icpx CC_LIB icx CXX_PARS icpx # 链接库 MKL_PATH /opt/intel/oneapi/mkl/2024.0/lib/intel64 BLAS -L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core LAPACK -L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core BLACS -L$(MKL_PATH) -lmkl_blacs_intelmpi_lp64 SCALAPACK -L$(MKL_PATH) -lmkl_scalapack_lp64 # FFTW 接口指向刚编出来的 .a FFTW /opt/intel/oneapi/mkl/2024.0/share/mkl/interfaces/fftw3xf/libfftw3xf_intel.a # 链接选项 LIB -L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \ -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64 -lpthread -lm注意FFTW那一行直接指向你刚编出来的.a文件绝对路径比用-lfftw3xf_intel更稳避免链接器找不到。3.4 编译source /opt/intel/oneapi/setvars.sh make all正常耗时 20 到 40 分钟取决于机器。如果两分钟就结束基本可以判定编译失败或跳过了大部分目标去bin/目录看有没有vasp_std。编译完成后ls bin/ # 应该看到 vasp_std vasp_gam vasp_ncl4. 运行测试用 benchmark 验证 vasp_std 可用编译产物存在不等于能跑。必须做一次真实计算验证。4.1 准备测试目录mkdir -p ~/vasp_workfile cd ~/vasp_workfile # 把 benchmark 测试包放进来解压 tar -zxvf vasp_workfile.tar.gz cd benchmark.Hg目录里会有IN-short和IN-long分别是短任务和长任务的 INCAR。先用短的mv IN-short INCAR4.2 配置运行环境在~/.bashrc末尾追加解决mpirun和动态库找不到的问题export PATH$PATH:/opt/intel/oneapi/mpi/2021.11/bin export PATH$PATH:/opt/intel/oneapi/mkl/2024.0/lib export PATH$PATH:$HOME/vasp.6.3.2/bin export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/opt/intel/oneapi/mkl/2024.0/lib/intel64然后source ~/.bashrc4.3 执行测试mpirun -np 2 vasp_std用 2 个核心跑。跑完后检查OUTCARgrep General timing OUTCAR grep reached required accuracy OUTCAR tail -20 OUTCAR如果看到General timing and accounting informations for this run且没有Error字样说明编译产物可用。OSZICAR里应该有能量收敛的迭代记录。4.4 成功标志对照检查项正常表现异常表现OUTCAR 末尾有 timing 信息中途中断无 timingOSZICAR有电子步迭代空文件或报错进程退出码0非 0运行时长数分钟秒退5. 本篇常见错误排查5.1 mpirun not found普通用户调用mpirun报找不到原因是 MPI 的 bin 目录没进 PATH。确认路径ls /opt/intel/oneapi/mpi/2021.11/bin/mpirun然后在~/.bashrc加export PATH$PATH:/opt/intel/oneapi/mpi/2021.11/bin source ~/.bashrc5.2 libmkl_blacs_intelmpi_ilp64.so.2 未找到运行时报这个说明动态库路径没配。该文件在/opt/intel/oneapi/mkl/2024.0/lib/intel64。在~/.bashrc加export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/opt/intel/oneapi/mkl/2024.0/lib/intel64注意是LD_LIBRARY_PATH不是PATH这两个别写混。5.3 vasp_std not found编译产物在vasp.6.3.2/bin/下但该目录没进 PATH。加export PATH$PATH:$HOME/vasp.6.3.2/bin如果你把 VASP 装在别的位置换成实际路径。5.4 编译报 icc command not found说明makefile.include里还留着CC_LIB icc。2024 版 OneAPI 已移除 icc改成icx。同理CXX_PARS改成icpx。5.5 链接阶段报 fftw3xf 相关 undefined referenceFFTW变量没指向正确的.a文件。回到 3.1 确认libfftw3xf_intel.a生成位置把绝对路径写进makefile.include。5.6 运行测试秒退先看OUTCAR最后几行通常是 POTCAR 路径不对或 INCAR 参数不兼容。benchmark 包里的 INCAR 是配好 POTCAR 的确认POTCAR文件存在且元素顺序和POSCAR一致。6. 后续工作流与接入入口编译和测试跑通之后日常用 VASP 更多是批量提交、参数扫描、结果整理。这部分如果想让模型辅助生成提交脚本、解析 OUTCAR、或者做 INCAR 参数对比可以用 TaoToken 的模型对话 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel_chat 。API 接入地址是 https://taotoken.net/api 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc 。如果你要长期做计算流程自动化、写 Agent 管理任务队列Coding Plan 更适合 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding_plan 。API Keys 在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi_keys 管理。最后提醒一个实测经验WSL2 下跑 VASPmpirun -np的核心数不要超过 WSL 分配的逻辑核数否则会卡在 MPI 初始化。物理机同理-np超过物理核数性能反而下降。跑 benchmark 用 2 核验证功能就够正式计算再按机器配置调。

相关推荐

Qt富文本处理深度解析报告:用QTextDocument构建可配置的TaoToken文档解析骨架
Qt富文本处理深度解析报告:用QTextDocument构建可配置的TaoToken文档解析骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:19:35

考研复试算法备考:从基础原理到手撕代码的完整指南
考研复试算法备考:从基础原理到手撕代码的完整指南

1. 复试算法到底考什么:先想明白边界才能对症下药在正式复盘之前,我想先说说最容易被忽视的一件事:复试里的算法,和竞赛刷题、期末考试的算法并不是同一个东西。复试算法考察的是你对基础数据结构和经典算法的理解深度、代码实现能… · 2026/9/26 3:19:35

三步让Dify工作流秒变智能插件!MCP Server插件实操指南(TaoToken统一Key接入版)
三步让Dify工作流秒变智能插件!MCP Server插件实操指南(TaoToken统一Key接入版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:19:35

Oracle AWR报告生成与解读:三分钟定位数据库性能瓶颈
Oracle AWR报告生成与解读:三分钟定位数据库性能瓶颈

前阵子凌晨一点被电话叫醒,生产库CPU直接拉满,登上去看系统状态一切正常,监听也在跑,会话数没有爆发式增长,但业务就是卡死。靠直觉猜了十分钟毫无头绪,最后是一份AWR报告让问题原形毕露——一条漏了索引的… · 2026/9/26 6:01:08

Claude Code模板实战:从失忆Agent到高效项目上下文固化
Claude Code模板实战:从失忆Agent到高效项目上下文固化

我真正开始重度使用 Claude Code,是在接手第四个完全陌生的代码仓库之后。工具本身安装不算难,难的是每次进入新项目,Agent 都会变得"失忆":上个月刚在这套技术栈上踩过的坑,换个仓库它又踩一遍;… · 2026/9/26 6:01:08

Claude代码模板工作流:CLI驱动的结构化Prompt工程实践
Claude代码模板工作流:CLI驱动的结构化Prompt工程实践

1. 项目概述:这不是一个“安装包”,而是一套可即插即用的 Claude 编程协作工作流模板 “claude-code-templates”这个标题乍看像某个 npm 包名,但实际翻遍 npm registry、GitHub 搜索、Claude 官方文档甚至社区讨论区,都找不到一… · 2026/9/26 6:01:08

Claude代码工作流引擎:CLI驱动的模板化代码生成协议
Claude代码工作流引擎:CLI驱动的模板化代码生成协议

1. 项目概述:这不是一个“模板库”,而是一套可执行的 Claude 代码工作流引擎“claude-code-templates”这个标题,第一眼容易被误解为一组静态的.js或.py文件集合——就像 GitHub 上常见的awesome-templates那样,点开就是几十个REA… · 2026/9/26 6:01:08

5G国际长途呼叫故障排查:从VoNR到IMS核心网全链路指南
5G国际长途呼叫故障排查:从VoNR到IMS核心网全链路指南

简介:一份面向5G核心网工程师、通信专业学生及国际漫游业务支撑人员的技术文档,系统讲解在5G网络中实现国际长途拨打的关键机制。内容围绕5GS与EPS互通的漫游架构展开,涵盖UE注册、AMF/NRF发现、SEPP安全通道、PDU会话建立,并重点… · 2026/9/26 6:01:08

制药MES系统架构解析:从电子批记录到系统集成与GMP合规
制药MES系统架构解析:从电子批记录到系统集成与GMP合规

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 6:01:02

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码