计算化学公社
标题: 在WSL下的Ubuntu 22.04中安装VASP 6.3.2与CP2K v2022.2 [打印本页]
作者Author: qlyfe 时间: 2022-11-15 16:58
标题: 在WSL下的Ubuntu 22.04中安装VASP 6.3.2与CP2K v2022.2
本帖最后由 qlyfe 于 2022-11-17 23:40 编辑
最近因课题需要转做第一性原理计算了,想着在自己的笔记本电脑上面安装VASP和CP2K来练习,就干脆写个帖子做个记录。由于对计算机和Linux系统比较小白,有问题还望各位老师同学批评指正。笔者的笔记本是联想小新air14plus,cpu是amd的6800hs,系统为win11 22h2,用的是wsl下的Ubuntu 22.04。安装过程参考了sob老师的两个帖子和vasp wiki上的安装指南:
VASP的最简单的安装方法:http://sobereva.com/455
CP2K第一性原理程序在CentOS中的简易安装方法:http://sobereva.com/586
VASP wiki-Personal computer installation:https://www.vasp.at/wiki/index.php/Personal_computer_installation
1. 在win11中安装Ubuntu 22.04
首先以管理员身份运行win11的终端,在终端中输入
系统就会自动下载安装wsl和Ubuntu 22.04,安装好后需要重启电脑,重启过后会弹出Ubuntu的界面让用户设置Linux系统下的用户名和密码,再执行
- sudo apt update
- sudo apt upgrade
复制代码 之后就可以愉快的使用Ubuntu了,一个技巧是可以将终端的默认配置文件改为Ubuntu(企鹅图标的那个),这样以后在文件夹下先点右键再点击“在终端中打开”就会自动在当前路径下打开Linux的命令窗口,这样就很方便。
(, 下载次数 Times of downloads: 81)
可以在Ubuntu系统内创建一个bin文件夹,方便把软件都安装在里面
2 编译VASP 6.3.2
根据VASP wiki网页中的说明,在Ubuntu 22.04下编译VASP 6.3.X的版本需要以下几个库
(, 下载次数 Times of downloads: 99)
可以使用apt直接安装这些库,命令如下。相比官方的命令这里增加了libfftw3-mpi-dev cmake pkg-config,是为了方便后续编译cp2k,如果只编译vasp就不需要后三个了。
- sudo apt install build-essential gfortran libopenblas-dev libopenmpi-dev libscalapack-openmpi-dev libfftw3-dev libhdf5-openmpi-dev libfftw3-mpi-dev cmake pkg-config
复制代码 在win11系统下vasp源码所在的文件夹里右键打开Linux终端,将vasp.6.3.2.tgz复制到Ubuntu系统内并解压,再将vasp.6.3.2/arch/makefile.include.gnu_omp拷贝出来到vasp.6.3.2中改名为makefile.include- cp vasp.6.3.2.tgz ~/bin/
- cd ~/bin
- tar zxvf vasp.6.3.2.tgz
- cp vasp.6.3.2/arch/makefile.include.gnu_omp makefile.include
复制代码 接下来对makefile.include中## Customize as of this point!之后的部分进行修改,按照wiki上https://www.vasp.at/wiki/index.php/Personal_computer_installation一步一步修改即可
- # BLAS and LAPACK (mandatory)
- #OPENBLAS_ROOT ?= /path/to/your/openblas/installation
- BLASPACK = -lopenblas
- # scaLAPACK (mandatory)
- #SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
- SCALAPACK = -lscalapack-openmpi
- # FFTW (mandatory)
- #FFTW_ROOT ?= /path/to/your/fftw/installation
- LLIBS += -lfftw3 -lfftw3_omp
- INCS += -I/usr/include
- # HDF5-support (optional but strongly recommended)
- CPP_OPTIONS+= -DVASP_HDF5
- #HDF5_ROOT ?= /path/to/your/hdf5/installation
- LLIBS += -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi/ -lhdf5_fortran
- INCS += -I/usr/include/hdf5/openmpi/
复制代码 修改完以后保存makefile.include,就可以编译VASP了
- cd ~/bin/vasp.6.3.2
- make DEPS=1 -j
复制代码 并行编译的速度是很快的,在笔者的笔记本电脑上编译的过程中也没有出现错误,编译完成后在vasp.6.3.2/bin目录下出现了vasp_gam、vasp_ncl、vasp_std,再在~/.bashrc末尾设置一下,VASP就可以使用了。
- export PATH=$PATH:~/bin/vasp.6.3.2/bin
- ulimit -s unlimited
- export OMP_NUM_THREADS=1
复制代码
3 编译CP2K v2022.2
在GitHub https://github.com/cp2k/cp2k/releases/上下载cp2k-2022.2.tar.bz2,复制到Ubuntu系统中并解压,之后进入cp2k-2022.2/tools/toolchain/下
- cp cp2k-2022.2.tar.bz2 ~/bin/
- cd ~/bin
- tar jxvf cp2k-2022.2.tar.bz2
- cd cp2k-2022.2/tools/toolchain/
复制代码 再执行以下命令运行toolchain,这里gcc和openmpi会默认使用编译vasp前用apt安装好的,cmake、openblas、fftw也都可以使用系统中已经安装的。
- ./install_cp2k_toolchain.sh --with-sirius=no --with-plumed=install --with-cmake=system --with-openblas=system --with-fftw=system
复制代码 经过漫长的等待后toolchain运行完成,会显示Done!并告诉用户接下来该怎么做,首先将cp2k-2022.2/tools/toolchain/install/arch/下的所有文件拷贝到cp2k-2022.2/arch/中
- cp ~/bin/cp2k-2022.2/tools/toolchain/install/arch/* ~/bin/cp2k-2022.2/arch/
复制代码 然后source一下toolchain/install/下的setup
- source ~/bin/cp2k-2022.2/tools/toolchain/install/setup
复制代码 之后就可以编译CP2K了
- cd ~/bin/cp2k-2022.2/
- make -j 8 ARCH=local VERSION="ssmp psmp"
复制代码再经过一段漫长的编译过程后,cp2k-2022.2/exe/local/下出现了cp2k.ssmp、cp2k.sopt、cp2k.psmp、cp2k.popt,再在~/.bashrc末尾设置一下,CP2K就也可以使用了。
- source ~/bin/cp2k-2022.2/tools/toolchain/install/setup
- export PATH=$PATH:~/bin/cp2k-2022.2/exe/local
复制代码
作者Author: neocc 时间: 2022-11-16 15:12
请问楼主,win11怎么设置wls2的gui呢?
可以wls可以支持GPU嚒?
还有一个小问题:wsl可以装rockylinux嚒?
作者Author: qlyfe 时间: 2022-11-16 19:40
GUI这方面我不太清楚呢,我自己没有用过
GPU是支持的,可以参考论坛里其他老师同学的帖子,如WSL2下gpu版lammps编译详细版
官方给出的版本里面是没有rockylinux的,你可以用wsl -l -o来查询,有没有别的办法可以安装我就不清楚了
作者Author: neocc 时间: 2022-11-17 01:11
本帖最后由 neocc 于 2022-11-17 01:17 编辑
谢谢楼主~~
刚刚去rockylinux官网查了一下,发现有 wsl 的安装方法,就是不知道最新发行版里的gcc是否满足cp2k2022.2的要求。版本太新就麻烦了,等有空了试一试
建议楼主可以尝试制作一个全功能ubuntu版的singularity的cp2k2022.2版sif镜像。(ubunt默认的dash好多坑,直接拿centos发行版制作的sif镜像还不能直接用)
CP2K-singularity镜像分享 - 第一性原理 (First Principle) - 计算化学公社
[url=CP2K-singularity镜像分享 - 第一性原理 (First Principle) - 计算化学公社 http://bbs.keinsci.com/forum.php ... mp;page=1#pid209168]http://bbs.keinsci.com/forum.php?mod=viewthread&tid=30907&page=1#pid209168[/url]
作者Author: Daniel_Arndt 时间: 2022-11-17 04:42
rocky linux有qcow2,可以看 https://download.rockylinux.org/pub/rocky/8/images/x86_64/ 和 https://download.rockylinux.org/pub/rocky/9/images/x86_64/ 。你可以用qcow2来做WSL,我之前在AlmaLinux 9上试过 http://bbs.keinsci.com/thread-30908-1-1.html 。
作者Author: qlyfe 时间: 2022-11-17 13:03
看了一下制作镜像有点复杂
我的需求就是能在自己的windows笔记本下做一些练习就行,在服务器上一般也不会用Ubuntu的
作者Author: mwx 时间: 2022-12-1 10:26
可以安装图形界面。
安装xorg(包括显卡驱动、图形环境库等等一系列软件包)
sudo apt install xorg
安装xfce4(运行在类Unix操作系统上,提供轻量级桌面环境)
sudo apt install xfce4 弹出图形界面后按确认键
安装xrdp(一种开源的远程桌面协议(RDP)服务器)
sudo apt install xrdp
配置xrdp(配置端口)默认端口号为3389,此处配置为3390
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
向.xsession中写入xfce4-session
sudo echo xfce4-session >~/.xsession
安装ubuntu桌面软件(如果不需要太多软件,可不用这步)
sudo apt-get install ubuntu-desktop
重启xrdp服务
sudo service xrdp restart(每次使用都要重启,除非在桌面设置不休眠)
查找本机ip
ifconfig
打开远程桌面连接,计算机栏输入ip(或者localhost),用户名栏输入子系统用户名和密码,点击连接。
作者Author: abin 时间: 2022-12-26 21:30
apptainer / singularity等技术方案的核心要点就是,
在A机器上制作的东西, 当然可以拿到B机器上使用了。
前提是, A和B都是Linux系统, 内核大概不能低于3.2之类的。
然后, 然后就没有了。
实际操作的就是,
在HPC, 作为用户, 使用root权限是痴心妄想。
那么在虚拟机中的Linux, 你当然有root权限了, 你当然可以做你想做的事情,
比如做一个SIF。
那这个SIF去HPC,当然可以使用了。
前提当然是, HPC上安装有apptainer / singularity.
这东西,apptainer / singularity, 是不能逃脱slurm/cgroup管制的,
也不会有docker哪些权限问题。
作者Author: hlmkh 时间: 2023-2-24 23:37
Can you share VASP 6.3.2
作者Author: qlyfe 时间: 2023-4-8 14:20
本帖最后由 qlyfe 于 2023-4-8 17:15 编辑
I am sorry but VASP is copyright-protected software. I cannot share it with you.
作者Author: ilikit 时间: 2023-7-27 17:05
感谢楼主的教程,按照教程我在安装Vasp6.3.2的时候出现了问题,无法正常编译。经过查询,发现在这一步“对makefile.include中## Customize as of this point!之后的部分进行修改”的代码中添加一行
LLIBS += $(SCALAPACK) $(BLASPACK)
即可解决,如果有朋友也出现编译不了Vasp的情况,可以尝试下面的代码替换楼主相应的代码。
- # BLAS and LAPACK (mandatory)
- #OPENBLAS_ROOT ?= /path/to/your/openblas/installation
- BLASPACK = -lopenblas
- # scaLAPACK (mandatory)
- #SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
- SCALAPACK = -lscalapack-openmpi
- LLIBS += $(SCALAPACK) $(BLASPACK)
- # FFTW (mandatory)
- #FFTW_ROOT ?= /path/to/your/fftw/installation
- LLIBS += -lfftw3 -lfftw3_omp
- INCS += -I/usr/include
- # HDF5-support (optional but strongly recommended)
- CPP_OPTIONS+= -DVASP_HDF5
- #HDF5_ROOT ?= /path/to/your/hdf5/installation
- LLIBS += -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi/ -lhdf5_fortran
- INCS += -I/usr/include/hdf5/openmpi/
复制代码
另外,我在WSL2中运行vasp6.3.2计算能带结构时,容易出现内存不足无法运行的情况,不知道楼主有没有碰到过?
作者Author: TRWang 时间: 2024-11-10 16:32
编译完成了,但是hdf5报错该怎么解决,系统是ubuntu24
作者Author: 高章磊 时间: 2025-6-20 14:36
2025年6月20日亲测在自组ubantu系统中能够按照此教程完成对cp2k的安装。但有几个不一样的地方需要注意:
1. https://github.com/cp2k/cp2k/releases/的链接在我安装时已经更新至2025.1版本,故文中所有2022.2的部分需要根据自己当时安装的版本稍作修改。
2. 对于不使用和安装vasp仅想完成cp2k安装的人请注意仍然需要执行题主提醒的下面这段代码安装好这些库,否则在安装cp2k时会报错
sudo apt install build-essential gfortran libopenblas-dev libopenmpi-dev libscalapack-openmpi-dev libfftw3-dev libhdf5-openmpi-dev libfftw3-mpi-dev cmake pkg-config
3. 在安装的最后阶段make -j 8 ARCH=local VERSION="ssmp psmp"这里需要根据你实际机子的核数更改数字,不要照抄。例如我的服务器是32核这里就不写8而是写32。而且其实可以在这里把sopt和popt也加上去这样可以把四个版型的cp2k都安装上,所以这里的命令其实可以写成
make -j ** ARCH=local VERSION="sopt ssmp popt psmp"
其中**为你服务器的核数。
以上为个人实测和一些见解希望对后来者有所帮助,也欢迎大家指正!
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |