计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1280|回复 Reply: 7

[综合讨论] 在WSL下的Ubuntu 22.04中安装VASP 6.3.2与CP2K v2022.2

[复制链接 Copy URL]

35

帖子

1

威望

1464

eV
积分
1519

Level 5 (御坂)

发表于 Post on 2022-11-15 16:58:26 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 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的终端,在终端中输入
  1. wsl --install
复制代码
系统就会自动下载安装wsl和Ubuntu 22.04,安装好后需要重启电脑,重启过后会弹出Ubuntu的界面让用户设置Linux系统下的用户名和密码,再执行
  1. sudo apt update
  2. sudo apt upgrade
复制代码
之后就可以愉快的使用Ubuntu了,一个技巧是可以将终端的默认配置文件改为Ubuntu(企鹅图标的那个),这样以后在文件夹下先点右键再点击“在终端中打开”就会自动在当前路径下打开Linux的命令窗口,这样就很方便。
无标题.png
可以在Ubuntu系统内创建一个bin文件夹,方便把软件都安装在里面
  1. cd ~
  2. mkdir bin
复制代码

2 编译VASP 6.3.2
根据VASP wiki网页中的说明,在Ubuntu 22.04下编译VASP 6.3.X的版本需要以下几个库
无标题2.png
可以使用apt直接安装这些库,命令如下。相比官方的命令这里增加了libfftw3-mpi-dev cmake pkg-config,是为了方便后续编译cp2k,如果只编译vasp就不需要后三个了。
  1. 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
  1. cp vasp.6.3.2.tgz ~/bin/
  2. cd ~/bin
  3. tar zxvf vasp.6.3.2.tgz
  4. 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一步一步修改即可
  1. # BLAS and LAPACK (mandatory)
  2. #OPENBLAS_ROOT ?= /path/to/your/openblas/installation
  3. BLASPACK    = -lopenblas

  4. # scaLAPACK (mandatory)
  5. #SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
  6. SCALAPACK   = -lscalapack-openmpi

  7. # FFTW (mandatory)
  8. #FFTW_ROOT  ?= /path/to/your/fftw/installation
  9. LLIBS      += -lfftw3 -lfftw3_omp
  10. INCS       += -I/usr/include

  11. # HDF5-support (optional but strongly recommended)
  12. CPP_OPTIONS+= -DVASP_HDF5
  13. #HDF5_ROOT  ?= /path/to/your/hdf5/installation
  14. LLIBS      += -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi/ -lhdf5_fortran
  15. INCS       += -I/usr/include/hdf5/openmpi/
复制代码
修改完以后保存makefile.include,就可以编译VASP了
  1. cd ~/bin/vasp.6.3.2
  2. make DEPS=1 -j
复制代码
并行编译的速度是很快的,在笔者的笔记本电脑上编译的过程中也没有出现错误,编译完成后在vasp.6.3.2/bin目录下出现了vasp_gam、vasp_ncl、vasp_std,再在~/.bashrc末尾设置一下,VASP就可以使用了。
  1. export PATH=$PATH:~/bin/vasp.6.3.2/bin
  2. ulimit -s unlimited
  3. 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/下
  1. cp cp2k-2022.2.tar.bz2 ~/bin/
  2. cd ~/bin
  3. tar jxvf cp2k-2022.2.tar.bz2
  4. cd cp2k-2022.2/tools/toolchain/
复制代码
再执行以下命令运行toolchain,这里gcc和openmpi会默认使用编译vasp前用apt安装好的,cmake、openblas、fftw也都可以使用系统中已经安装的。
  1. ./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/中
  1. cp ~/bin/cp2k-2022.2/tools/toolchain/install/arch/* ~/bin/cp2k-2022.2/arch/
复制代码
然后source一下toolchain/install/下的setup
  1. source ~/bin/cp2k-2022.2/tools/toolchain/install/setup
复制代码
之后就可以编译CP2K了
  1. cd ~/bin/cp2k-2022.2/
  2. make -j 8 ARCH=local VERSION="ssmp psmp"
复制代码
再经过一段漫长的编译过程后,cp2k-2022.2/exe/local/下出现了cp2k.ssmp、cp2k.sopt、cp2k.psmp、cp2k.popt,再在~/.bashrc末尾设置一下,CP2K就也可以使用了。
  1. source ~/bin/cp2k-2022.2/tools/toolchain/install/setup
  2. export PATH=$PATH:~/bin/cp2k-2022.2/exe/local
复制代码




评分 Rate

参与人数
Participants 1
威望 +1 收起 理由
Reason
sobereva + 1

查看全部评分 View all ratings

114

帖子

0

威望

2435

eV
积分
2549

Level 5 (御坂)

发表于 Post on 2022-11-16 15:12:59 | 显示全部楼层 Show all
请问楼主,win11怎么设置wls2的gui呢?
可以wls可以支持GPU嚒?
还有一个小问题:wsl可以装rockylinux嚒?

35

帖子

1

威望

1464

eV
积分
1519

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2022-11-16 19:40:54 | 显示全部楼层 Show all
neocc 发表于 2022-11-16 15:12
请问楼主,win11怎么设置wls2的gui呢?
可以wls可以支持GPU嚒?
还有一个小问题:wsl可以装rockylinux嚒 ...

GUI这方面我不太清楚呢,我自己没有用过
GPU是支持的,可以参考论坛里其他老师同学的帖子,如WSL2下gpu版lammps编译详细版
官方给出的版本里面是没有rockylinux的,你可以用wsl -l -o来查询,有没有别的办法可以安装我就不清楚了

114

帖子

0

威望

2435

eV
积分
2549

Level 5 (御坂)

发表于 Post on 2022-11-17 01:11:14 | 显示全部楼层 Show all
本帖最后由 neocc 于 2022-11-17 01:17 编辑
qlyfe 发表于 2022-11-16 19:40
GUI这方面我不太清楚呢,我自己没有用过
GPU是支持的,可以参考论坛里其他老师同学的帖子,如WSL2下gpu ...

谢谢楼主~~

刚刚去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]

389

帖子

1

威望

2030

eV
积分
2439

Level 5 (御坂)

发表于 Post on 2022-11-17 04:42:27 | 显示全部楼层 Show all
neocc 发表于 2022-11-17 01:11
谢谢楼主~~

刚刚去rockylinux官网查了一下,发现有 wsl 的安装方法,就是不知道最新发行版里的gcc是否 ...

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

35

帖子

1

威望

1464

eV
积分
1519

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2022-11-17 13:03:07 | 显示全部楼层 Show all
neocc 发表于 2022-11-17 01:11
谢谢楼主~~

刚刚去rockylinux官网查了一下,发现有 wsl 的安装方法,就是不知道最新发行版里的gcc是否 ...

看了一下制作镜像有点复杂我的需求就是能在自己的windows笔记本下做一些练习就行,在服务器上一般也不会用Ubuntu的

15

帖子

0

威望

243

eV
积分
258

Level 3 能力者

发表于 Post on 2022-12-1 10:26:26 | 显示全部楼层 Show all
neocc 发表于 2022-11-16 15:12
请问楼主,win11怎么设置wls2的gui呢?
可以wls可以支持GPU嚒?
还有一个小问题:wsl可以装rockylinux嚒 ...

可以安装图形界面。
安装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),用户名栏输入子系统用户名和密码,点击连接。

1853

帖子

1

威望

4104

eV
积分
5977

Level 6 (一方通行)

发表于 Post on 2022-12-26 21:30:49 | 显示全部楼层 Show all
neocc 发表于 2022-11-17 01:11
谢谢楼主~~

刚刚去rockylinux官网查了一下,发现有 wsl 的安装方法,就是不知道最新发行版里的gcc是否 ...

apptainer / singularity等技术方案的核心要点就是,
在A机器上制作的东西, 当然可以拿到B机器上使用了。

前提是, A和B都是Linux系统, 内核大概不能低于3.2之类的。
然后, 然后就没有了。

实际操作的就是,
在HPC, 作为用户, 使用root权限是痴心妄想。
那么在虚拟机中的Linux, 你当然有root权限了, 你当然可以做你想做的事情,
比如做一个SIF。
那这个SIF去HPC,当然可以使用了。

前提当然是, HPC上安装有apptainer / singularity.

这东西,apptainer / singularity, 是不能逃脱slurm/cgroup管制的,
也不会有docker哪些权限问题。

High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
App,  https://gitee.com/hpc4you/linux
hpc4you toolkit,  https://gitee.com/hpc4you/hpc
电邮hpc4you@163.com VX: hpc4you

本版积分规则 Credits rule

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

GMT+8, 2023-2-6 05:33 , Processed in 0.656784 second(s), 28 queries .

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