量子化学在线平台 CalcUS 搭建
type
status
date
slug
summary
tags
category
icon
password
Property
Nov 27, 2022 11:35 AM
URL
0. 部分功能预览
0.1 集成 Gaussian 16 , ORCA , xtb
可视化提交各种任务

可视化设定各种原子基组

在线显示优化步骤

可视化任务

0.2 集群管理

0.3 项目自动化分析

1. 准备工作
1.1 说明
- Ubuntu 20.04
- cpu: 5950x, E5-2675-v3 , Intel(R) Xeon(R) Gold 6161 ,Intel(R) Xeon(R) Platinum 8171M,测试均没问题
- 如果你是 Linux 小白,请务必按照我的所有步骤操作.
下载 MobaXterm : 点我下载
全能终端工具,集成 ssh , sftp , x11 转发,运维神器!强烈推荐
1.2 Docker 安装
首先更新源
sudo apt-get update sudo apt upgrade -y
然后安装docker
sudo apt install docker -y
sudo apt install docker.io -y
1.3 Docker-Compose 安装
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予 docker-compose 可执行权
sudo chmod +x /usr/local/bin/docker-compose
1.4 设定 docker 组
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
2. CalcUS 搭建
2.1 准备工作
原项目是有问题的,没法部署,会报错,经过个人修改,下面是我修改过的文件
CalcUS 下载
- 123网盘: https://www.123pan.com/s/U8JrVv-P3LEH 提取码:waxy
- OneDrive: 点我打开
- 天翼云盘: https://cloud.189.cn/t/FBZRfqAZ7r6r(访问码:sft8)
下载好之后,将文件移动到你的
home
目录(运行 echo $HOME
就可以看到你的 home
目录路径了)下,举例来说就是
这里的我的
home
目录就是: /home/wxyhgk
,将软件移动到 /home/wxyhgk
下面.2.2 安装
下载后,在目录下解压
cd $HOME && tar -xvf calcus.tar.gz
解压后会得到
CalcUS
文件夹,我们接下来进入 CalcUS
文件夹操作cd $HOME/CalcUS && bash start.sh
这一步会比较慢,因为得下载各种 docker 镜像,耐心等待即可,下面的 Pulling 表明在 拉取镜像

当出现下面的这个 web_1 字眼的时候表明启动成功

最后去浏览器,输入
ip:1234
就可以进去了,这里的 ip 是你机器的ip,也就是你登录 ssh 的 ip.默认
- 账号: wxyhgk
- 密码: default

2.3 配置
上面的操作说明为了让 CalcUS 能跑起来,下面是配置,首先停掉 CalcUS,按 Ctrl + c 键就能停掉了.
.env
文件的配置进入 CalcUS 目录,删掉 .env 文件
cd $HOME/CalcUS&&rm .env
然后使用命令
python3 generate_env.py
新建一个
.env
文件, 这里是让你创建一个用户,密码是 default
配置好之后重新运行
bash start.sh
使用这个命令是重新配置 docker 镜像,以前的 docker 容器会被删除,配置好上面的之后,以后启动的时候,就到 CalcUS 目录下,运行
docker-compose start
就行了,稍等几分钟,就能在浏览器访问了.
3. 集群配置
这里是一台远程主机的配置,如果你有多台主机,全部按照下面来配置就可以了.
3.1 准备工作
- 首先在你要远程运行的机器上安装 slurm ,slurm 如何安装?点我打开
3.2 创建计算目录
mkdir $HOME/calcus
然后将
- Gaussian 16 包
- orca 安装包
- xtb, crest, xtb4stda, stda 安装包
放入到 calcus 目录中,解压.
3.4 制作脚本
下面的脚本均要在 calcus 目录中创建
- gaussian 16 脚本
新建一个
submit_Gaussian.sh
文件,,填入以下内容
#!/bin/bash ##===任务名字==== #SBATCH -J 5950x-g16 #===计算节点=== #SBATCH -p Ubuntu-5950x #===总核数和数量设定 === #SBATCH -N 1 #SBATCH -n 8 #===输入和输出文件=== #SBATCH --output=g16Job%j.out #SBATCH --error=g16Job%j.err #===邮件通知=== #SBATCH --mail-user=wxyhgk@qq.com #SBATCH --mail-type=ALL #--------------------分割线---------------------------------- #--------------------分割线---------------------------------- #=============== 加载 g16 环境变量 =========== export g16root=/home/wxyhgk/calcus export GAUSS_SCRDIR=/home/wxyhgk/calcus/g16/scratch source /home/wxyhgk/calcus/g16/bsd/g16.profile export PGI_FASTMATH_CPU=sandybridge #===运行命令=== cd $SLURM_SUBMIT_DIR
上面的脚本你需要将
#SBATCH -p Ubuntu-5950x
中的 Ubuntu-5950x 改成你的
#SBATCH --mail-user=wxyhgk@qq.com
中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
#=============== 加载 g16 环境变量 ===========
后面的内容也需要你修改成你 calcus 目录下的g16 路径
- orca 脚本
关于orca的部分,可以看我的教程 点我打开
新建一个
submit_ORCA.sh
文件,填入以下内容
#!/bin/bash #===任务名字=== #SBATCH -J 5950x-orca #=== 调用哪个节点 === #SBATCH -p Ubuntu-5950x #=== 节点核和数量设定 === #SBATCH -n 32 # 总核数 40 #SBATCH --ntasks-per-node=32 # 每节点核数 #=== 输入和输出文件 === #SBATCH --output=orcaJob%j.out #SBATCH --error=orcaJob%j.err #=== 邮件通知 === #SBATCH --mail-user=wxyhgk@qq.com #SBATCH --mail-type=ALL #============= 加载 openmpi ========================== export PATH=$PATH:/home/wxyhgk/calcus/openmpi/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wxyhgk/calcus/openmpi/lib #==============加载 orca 环境变量========================= export PATH=$PATH:/home/wxyhgk/calcus/calcus-orca export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wxyhgk/calcus/calcus-orca EBROOTORCA=/home/wxyhgk/calcus/calcus-orca #--------------------分割线---------------------------------- #--------------------分割线---------------------------------- #===运行命令=== cd $SLURM_SUBMIT_DIR
上面的脚本你需要将
#SBATCH -p Ubuntu-5950x
中的 Ubuntu-5950x 改成你的
#=== 节点核和数量设定 ===
需要改成你的
#SBATCH --mail-user=wxyhgk@qq.com
中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
#==============加载 orca 环境变量=========================
修改成你的 calcus 目录下的 orca 路径
- xtb 脚本
新建一个
submit_xtb.sh
文件,填入以下内容
#!/bin/bash ##===任务名字==== #SBATCH -J 5950x-g16 #===计算节点=== #SBATCH -p Ubuntu-5950x #===== 计算设置 ==== #SBATCH --nodes=1 #SBATCH --ntasks=24 #===邮件通知=== #SBATCH --mail-user=wxyhgk@qq.com #SBATCH --mail-type=ALL #===========xtb环境变量部分============== export PATH=$PATH:/home/wxyhgk/calcus/xtb651/bin export XTBPATH=/home/wxyhgk/calcus/xtb651/share/xtb export OMP_NUM_THREADS=16 export MKL_NUM_THREADS=16 ulimit -s unlimited #==============提交任务==================== cd $SLURM_SUBMIT_DIR
#SBATCH -p Ubuntu-5950x
中的 Ubuntu-5950x 改成你的
#=== 节点核和数量设定 ===
需要改成你的
#SBATCH --mail-user=wxyhgk@qq.com
中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
#===========xtb环境变量部分==============
修改成你的 calcus 目录下的 xtb 路径
3.5 集群远程连接
点击网站右上角的
My Profile
按钮
然后找到这个

解释以下每个名词的含义
- Cluster Address 代表你远程服务器ssh的
ip:端口
- Cluster Username 代表你远程服务器的用户名
- Core per Calculation 计算用多少核心
- Menory per Calculation 计算用多少内存
- Key Encryption Password 代表密码
配置好之后,点这个 Manage 按钮进入

然后点击 View public key

会得到一串数字复制这个数字,然后保留着,后面就是配置 ssh免密登录 ,网上教程很多,可以搜索
ssh 免密登录
, 配置好免密登录后,然后点击上面的 Connect to cluster 按钮就可以了3.6 计算测试
配置好上面所有的东西之后,就可以做计算了.如图所示
