计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2377|回复 Reply: 1
打印 Print 上一主题 Last thread 下一主题 Next thread

[VASP] Win11+WSL+Intel库+ELPA+VASP安装

[复制链接 Copy URL]

0

帖子

1

威望

54

eV
积分
74

Level 2 能力者

本帖最后由 lzc110 于 2025-1-26 12:43 编辑

  • 写在前面的话

最近准备转向VASP做第一性原理的方向,以前做的模拟都是基于有限元的,现在由于条件限制,想发展一个有前途的方向,所以选择了第一性原理。
主要目标有两个,一个是Quantum Espesso,另一个就是VASP了,两个的优缺点也研究了,两个也都进行了尝试,这里记录一下VASP的安装。
为什么发这个帖子,一个目的是为了记录一下,另一个主要目的是为了能融入计算化学公社,毕竟是一个新手,刷刷存在感刷刷经验,恰巧以前用过Windows和WSL。
这里面参考了大量的其他资料教程,结合了自己的经验和踩的坑,已经记不清该感谢多少人了,在此一并感谢!有不当指出还请批评指正。

  • 引言

网上对于题目的安装内容的教程比较分散零散,且不一定适合Win+WSL,本帖子就是为解决这个问题而生。Windows是比较便利的操作系统,尤其是文件操作处理方面。Linux在科学计算方面有其独到优势,最主要的是一些软件只有Linux版,但是Linux天然操作繁琐,远没有Windows系统便利。那么WSL刚好结合了两者的优点,解决了他们的不足之处,在Windows系统里面,wsl界面只是一个窗口,可以在资源管理器里面直接访问Linux里面的文件,可以互相拷贝文件,并直接对其进行编辑,特别方便。这里额外说明一下,不建议使用Win10系统的WSL,请直接升级到Win11系统,因为Win11系统是底层虚拟化的,Linux效率可以达到最高。当然开启虚拟化之后,Windows和Linux性能都有一定损失,结合网上的说法和自己的经验,这个损失大概在3%,完全可以接受的。使用Intel库完全是因为自己懒,这个使用比较简单。ELPA特征值求解器,据说可以提高VASP的计算啊速度达到25%,这个我不确定,因为我没比较过,但是这里一并编译了。

  • Windows11+WSL安装和配置
这里额外说一下,尽量安装最新的LTSC系统,没有家庭版乱七八糟的软件,剩余的都是自带的基础软件,唯一少的是Microsoft Store,只要在power shell里面运行如下代码,过一会,就安装上了。系统激活可以用mas数字权利永久激活,激活后是IoT LTSC版,除了名字外没有任何区别
  1. wsreset -i
复制代码
在一个工作站上面使用Win11系统时候,总是莫名会卡顿一下,这里需要设置一下,在控制面板里面的电源管理选择均衡模式,但是在电源选项里面把最小处理器状态设置为100%,同时在uwp的设置里面,电源模式设置为最佳性能。这样会好很多。另外我把全局变量都写在了/etc/profile里面了。
  • Win11系统在“Windows功能”里面开启“Hyper-v”和“基于Linux系统的Windows子系统”然后重启
  • 在Microsoft Store商店里面安装Debian,或者自己转成exe安装包,这样可以将WSL系统安装在任意位置。这个系统的大小只有84M,但是完全够用了。
  • 运行Debian,设置用户名密码略。
  • 这里为了接下来配置方便,进入root账户,更改系统源为阿里源
    1. sed -i -e 's/deb.debian.org/mirrors.aliyun.com/g' -e 's/security.debian.org/mirrors.aliyun.com/g' -e 's/ftp.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
    2. apt upgrade
    3. apt update
    复制代码

  • 安装几个程序
    1. apt-get install rsync build-essential python3
    复制代码

  • Intel库安装和配置
这里安装的是2025版的,最新的使用的是icx,ifx和icpx,这里需要注意。另外旧版本需要安装两个,base toolkit 和oneAPI HPC Toolkit,但是新版本只用这一个就够了。
  • 运行如下代码下载,或者提前下载
    1. wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b7f71cf2-8157-4393-abae-8cea815509f7/intel-oneapi-hpc-toolkit-2025.0.1.47_offline.sh
    复制代码

  • 运行如下代码安装,这里其实只用安装需要的4个编译器和一些取消就提示被编译器使用的组件就行了,一共是7个,下面代码是完全安装,后面的指令去掉就可以自己选择安装组件
    1. sudo sh ./intel-oneapi-hpc-toolkit-2025.0.1.47_offline.sh -a --silent --cli --eula accept
    复制代码

  • 把如下信息写在/etc/profle里面,这里就可以用Windows的文本编辑器修改了,如果没有权限保存,在Linux里面运行chmod 777 /etc/profile修改权限,如果Windows不能复制文件,也用类似的命令修改权限。
    1. source /opt/intel/oneapi/setvars.sh intel64
    2. export LD_LIBRARY_PATH=/opt/intel/oneapi/2025.0/lib\:\$LD_LIBRARY_PATH
    复制代码

  • 最后启用一下新的变量配置,如果接下来步骤里面出现变量无法识别时候,就再次执行这个命令
    1. source /etc/profile
    复制代码

  • ELPA编译和配置
这里和VASP编译参考了部分哈酱的安装vasp-6.4.2含有elpa本征值求解器,也修正了其中的错误
  • 下载elpa
    1. wget https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/2024.05.001/elpa-2024.05.001.tar.gz
    复制代码

  • 配置,代码参考修改了官方文档,由于本人电脑cpu不支持avx512指令,必须禁掉,不然编译不通过,如果支持这个指令,最后的 --disable-avx512可以删掉,这个配置会把安装位置放在/opt/下面,可根据自己喜好修改位置,修改--prefix=后的位置即可
    1. cd elpa-2024.05.001
    2. ./configure --prefix=/opt/elpa-2024.05.001 CC=mpiicx CXX=mpiicpx FC=mpiifx \
    3. CFLAGS="-O3 -xHost" FCFLAGS="-O3 -xHost" \
    4. SCALAPACK_FCFLAGS="-I${MKLROOT}/include/intel64/lp64" \
    5. SCALAPACK_LDFLAGS="-L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 \
    6. -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 \
    7. -lpthread -lm -Wl,-rpath,${MKLROOT}/lib/intel64" \
    8. --enable-option-checking=fatal --with-mpi=yes --disable-avx512
    复制代码

  • 编译
    1. make -j
    2. make install
    复制代码

  • 添加变量
    1. export LD_LIBRARY_PATH=/opt/elpa-2024.05.001/lib:$LD_LIBRARY_PATH
    2. source /etc/profile
    复制代码


  • VASP编译和配置
  • 进入VASP目录,拷贝合适的编译文件
    1. cd vasp.6.4.2
    2. cp arch/makefile.include.intel  makefile.include
    复制代码

  • 修改makefile.include13和14行的mpiifort为mpiifx,32行icc为icx,40行icpc为icpx,并在结尾添加如下代码,可以直接用Windows的文本编辑器修改
    1. CPP_OPTIONS += -DELPA
    2. ELPA_ROOT   ?= /opt/elpa-2024.05.001
    3. LLIBS       += -L$(ELPA_ROOT)/lib -lelpa
    4. INCS        += -I$(ELPA_ROOT)/include/elpa-2024.05.001/elpa
    5. INCS        += -I$(ELPA_ROOT)/include/elpa-2024.05.001/modules
    复制代码

  • 编译,18是指定编译使用的线程数
    1. make DEPS=1 -j18 all
    复制代码

  • 最后把三个程序写人/etc/profile环境变量,这个是参考了官方例子里面的代码,确实很方便,写入后,以后运行程序,只需要"$vasp_std"就能替代原来很长的代码
    1. export vasp_std="mpirun -np 18 /opt/vasp.6.4.2/bin/vasp_std"
    2. export vasp_gam="mpirun -np 18 /opt/vasp.6.4.2/bin/vasp_gam"
    3. export vasp_ncl="mpirun -np 18 /opt/vasp.6.4.2/bin/vasp_ncl"
    复制代码

  • 最后source一下
    1. source /etc/profile
    复制代码

  • 测试
下载一个官方例子,运行一下


Windows查看Linux文件效果


评分 Rate

参与人数
Participants 9
威望 +1 eV +30 收起 理由
Reason
software369 + 3 我很赞同
shobuu + 1 好物!
红红的太阳 + 5 赞!
cleverboy + 2 谢谢分享
leyuan + 4 赞!
plk412 + 5
WOOOOWOOOO + 5 牛!
anson + 5 谢谢分享
sobereva + 1

查看全部评分 View all ratings

48

帖子

0

威望

208

eV
积分
256

Level 3 能力者

2#
发表于 Post on 2025-4-18 00:26:05 | 只看该作者 Only view this author
感谢大佬的经验分享!请问大佬,Windows11+WSL安装和配置中以下情况怎么解决?
第4步运行结果为:
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

第5步apt-get install rsync build-essential python3运行结果为:
Reading package lists... Done
Building dependency tree... Done
E: Unable to locate package rsync
E: Unable to locate package build-essential
E: Unable to locate package python3

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-15 02:00 , Processed in 0.196867 second(s), 31 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list