计算化学公社

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

[集群维护] 搭建在线量子化学平台 CalcUS

[复制链接 Copy URL]

227

帖子

6

威望

1712

eV
积分
2059

Level 5 (御坂)

本帖最后由 wxyhgk 于 2022-11-11 22:47 编辑



0. 部分功能预览
  • 0.1 集成 Gaussian 16 , ORCA , xtb
    提交各种任务,可视化显示


    可视化设定各种原子基组


    在线显示优化步骤


    可视化任务
  • 0.2 集群管理


  • 0.3 项目自动化分析


本项目来自于 GitHub 项目:点我打开 ,原项目编译会出问题,自己修改了一下,可以正常使用

1. 准备工作
1.1 说明
项目来源于:https://github.com/cyllab/CalcUS

  • 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 安装
首先更新源
  1. sudo apt-get update
  2. sudo apt upgrade -y
复制代码


然后安装docker
  1. sudo apt install docker -y
复制代码
  1. sudo apt install docker.io -y
复制代码

1.3 Docker-compose 安装
  1. 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-composesud
复制代码

赋予 docker-compose 可执行权
  1. sudo chmod +x /usr/local/bin/docker-compose
复制代码

1.4 设定 Docker 组
  1. sudo groupadd docker
复制代码
  1. sudo usermod -aG docker $USER
复制代码
  1. newgrp docker
复制代码


2. CalcUS 搭建
2.1 准备工作
原项目是有问题的,没法部署,会报错,经过个人修改,下面是我修改过的文件


下载好之后,将文件移动到你的 home 目录(运行 echo $HOME 就可以看到你的 home 目录路径了)下,举例来说就是

这里的我的 home`目录就是:/home/wxyhgk,将软件移动到 /home/wxyhgk 下面.

2.2 安装
下载后,在目录下解压
  1. cd $HOME && tar -xvf calcus.tar.gz
复制代码
解压后会得到 `CalcUS` 文件夹,我们接下来进入 `CalcUS` 文件夹操作
  1. 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 文件
  1. cd $HOME/CalcUS&&rm .env
复制代码
然后使用命令
  1. python3 generate_env.py
复制代码


新建一个 `.env` 文件,这里是让你创建一个用户,密码是 default

配置好之后重新运行
  1. bash start.sh
复制代码
使用这个命令是重新配置 docker 镜像,以前的 docker 容器会被删除.

配置好上面的之后,以后启动的时候,就到 CalcUS 目录下,运行

  1. docker-compose start
复制代码


就行了,稍等几分钟,就能在浏览器访问了.
3. 集群配置
这里是一台远程主机的配置,如果你有多台主机,全部按照下面来配置就可以了.
3.1 准备工作
首先在你要远程运行的机器上安装 slurm ,slurm 如何安装? 点我打开


3.2 创建计算目录
  1. mkdir $HOME/calcus
复制代码
然后将

  • Gaussian 16 包
  • orca 安装包
  • xtb, crest, xtb4stda, stda 安装包


放入到 calcus 目录中,解压.

3.3 制作脚本
下面的脚本均要在 calcus 目录中创建

  • gaussian 16 脚本
    新建一个 submit_Gaussian.sh 文件,,填入以下内容
    1. #!/bin/bash
    2. ##===任务名字====
    3. #SBATCH -J 5950x-g16

    4. #===计算节点===
    5. #SBATCH -p Ubuntu-5950x

    6. #===总核数和数量设定 ===
    7. #SBATCH -N 1
    8. #SBATCH -n 8

    9. #===输入和输出文件===
    10. #SBATCH --output=g16Job%j.out
    11. #SBATCH --error=g16Job%j.err

    12. #===邮件通知===
    13. #SBATCH --mail-user=wxyhgk@qq.com
    14. #SBATCH --mail-type=ALL

    15. #--------------------分割线----------------------------------
    16. #--------------------分割线----------------------------------

    17. #=============== 加载 g16 环境变量 ===========
    18. export g16root=/home/wxyhgk/calcus
    19. export GAUSS_SCRDIR=/home/wxyhgk/calcus/g16/scratch
    20. source /home/wxyhgk/calcus/g16/bsd/g16.profile
    21. export PGI_FASTMATH_CPU=sandybridge

    22. #===运行命令===
    23. cd $SLURM_SUBMIT_DIR
    复制代码
    上面的脚本你需要将
  • 1. `#SBATCH -p Ubuntu-5950x` 中的 Ubuntu-5950x 改成你的
  • 2. `#SBATCH --mail-user=wxyhgk@qq.com` 中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
  • 3. `#=============== 加载 g16 环境变量 ===========` 后面的内容也需要你修改成你 calcus 目录下的g16 路径

  • Orca 脚本
  • 关于orca的部分,可以看我的教程 [点我打开]
  • 新建一个 submit_ORCA.sh 文件,填入以下内容
    1. #!/bin/bash
    2. #===任务名字===
    3. #SBATCH -J 5950x-orca

    4. #=== 调用哪个节点 ===
    5. #SBATCH -p Ubuntu-5950x

    6. #=== 节点核和数量设定  ===
    7. #SBATCH -n 32                # 总核数 40
    8. #SBATCH --ntasks-per-node=32   # 每节点核数

    9. #=== 输入和输出文件 ===
    10. #SBATCH --output=orcaJob%j.out
    11. #SBATCH --error=orcaJob%j.err

    12. #=== 邮件通知 ===
    13. #SBATCH --mail-user=wxyhgk@qq.com
    14. #SBATCH --mail-type=ALL

    15. #============= 加载 openmpi ==========================
    16. export PATH=$PATH:/home/wxyhgk/calcus/openmpi/bin
    17. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wxyhgk/calcus/openmpi/lib

    18. #==============加载 orca 环境变量=========================
    19. export PATH=$PATH:/home/wxyhgk/calcus/calcus-orca
    20. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wxyhgk/calcus/calcus-orca
    21. EBROOTORCA=/home/wxyhgk/calcus/calcus-orca
    22. #--------------------分割线----------------------------------
    23. #--------------------分割线----------------------------------

    24. #===运行命令===
    25. cd $SLURM_SUBMIT_DIR
    复制代码
    上面的脚本你需要将
  • 1. `#SBATCH -p Ubuntu-5950x` 中的 Ubuntu-5950x 改成你的
  • 2. `#=== 节点核和数量设定  ===` 需要改成你的
  • 3. `#SBATCH --mail-user=wxyhgk@qq.com` 中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
  • 4. `#==============加载 orca 环境变量=========================` 修改成你的 calcus 目录下的 orca 路径
  • xtb 脚本
    新建一个 submit_xtb.sh 文件,填入以下内容
    1. #!/bin/bash
    2. ##===任务名字====
    3. #SBATCH -J 5950x-g16

    4. #===计算节点===
    5. #SBATCH -p Ubuntu-5950x

    6. #===== 计算设置 ====
    7. #SBATCH --nodes=1
    8. #SBATCH --ntasks=24

    9. #===邮件通知===
    10. #SBATCH --mail-user=wxyhgk@qq.com
    11. #SBATCH --mail-type=ALL

    12. #===========xtb环境变量部分==============
    13. export PATH=$PATH:/home/wxyhgk/calcus/xtb651/bin
    14. export XTBPATH=/home/wxyhgk/calcus/xtb651/share/xtb
    15. export OMP_NUM_THREADS=16
    16. export MKL_NUM_THREADS=16
    17. ulimit -s unlimited

    18. #==============提交任务====================
    19. cd $SLURM_SUBMIT_DIR
    复制代码

  • 1. `#SBATCH -p Ubuntu-5950x` 中的 Ubuntu-5950x 改成你的
  • 2. `#=== 节点核和数量设定  ===` 需要改成你的
  • 3. `#SBATCH --mail-user=wxyhgk@qq.com` 中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
  • 4. `#===========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 计算测试
配置好上面所有的东西之后,就可以做计算了.如图所示


更多的可以看官方教程:点我打开
4. 参考教程
4.1 Docker 相关

4.2 CalcUS 相关











评分 Rate

参与人数
Participants 11
威望 +1 eV +46 收起 理由
Reason
wal + 5
Reman + 4 好物!
lx199212 + 5
wuy069 + 5
tanyazhi + 5 好物!
lonicera + 5
丁越 + 5 赞!
ggdh + 5
dantevinsky + 2 GJ!
zsu007 + 5 精品内容
sobereva + 1

查看全部评分 View all ratings

6万

帖子

99

威望

5万

eV
积分
120102

管理员

公社社长

2#
发表于 Post on 2022-11-11 22:16:01 | 只看该作者 Only view this author
文中的外链的图我这里显示不出来
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

227

帖子

6

威望

1712

eV
积分
2059

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2022-11-11 22:33:30 | 只看该作者 Only view this author
sobereva 发表于 2022-11-11 22:16
文中的外链的图我这里显示不出来

可能我用的国外的图床,我调整一下

908

帖子

37

威望

5435

eV
积分
7083

Level 6 (一方通行)

4#
发表于 Post on 2022-11-12 21:33:56 | 只看该作者 Only view this author
强啊! 把建模和计算结合在一起了, MS风格的量化

245

帖子

0

威望

2717

eV
积分
2962

Level 5 (御坂)

5#
发表于 Post on 2022-11-13 11:13:45 | 只看该作者 Only view this author
太强啦,膜拜

1102

帖子

18

威望

6692

eV
积分
8154

Level 6 (一方通行)

計算化学の社畜

6#
发表于 Post on 2022-11-14 09:03:31 | 只看该作者 Only view this author
ggdh 发表于 2022-11-12 21:33
强啊! 把建模和计算结合在一起了, MS风格的量化

感觉可以卖好多钱啊
Stand on the shoulders of giants

1102

帖子

18

威望

6692

eV
积分
8154

Level 6 (一方通行)

計算化学の社畜

7#
发表于 Post on 2022-11-14 09:04:58 | 只看该作者 Only view this author
第一幅图概览图是真的好喜欢
Stand on the shoulders of giants

524

帖子

3

威望

6216

eV
积分
6800

Level 6 (一方通行)

8#
发表于 Post on 2022-11-14 14:07:06 | 只看该作者 Only view this author
国内不少公司在做类似的计算平台,有第一性的 有量化的 有生信的 也有MD的…… 要是这玩意推广开了 让那些公司情何以堪啊
恍惚月余,深谙人与人之间的差距。以后还应努力学习,才能与强者比肩。

356

帖子

0

威望

2249

eV
积分
2605

Level 5 (御坂)

9#
发表于 Post on 2022-11-15 08:23:13 | 只看该作者 Only view this author
七八万,我们单位的领导都不同意批准,你说能卖多少许可数量?
Meda,Maps,我都了解过,价格贵了,买的单位和个人 数量少。
眼下这种经济形势,科研经费不容易申请到。

110

帖子

0

威望

1123

eV
积分
1233

Level 4 (黑子)

10#
发表于 Post on 2022-11-15 09:45:12 | 只看该作者 Only view this author
这东西计算资源用的谁的

227

帖子

6

威望

1712

eV
积分
2059

Level 5 (御坂)

11#
 楼主 Author| 发表于 Post on 2022-11-16 00:03:55 | 只看该作者 Only view this author
anlancx 发表于 2022-11-15 09:45
这东西计算资源用的谁的

可以用本地服务器也可以用远程服务器

166

帖子

0

威望

3347

eV
积分
3513

Level 5 (御坂)

12#
发表于 Post on 2022-11-16 16:47:02 | 只看该作者 Only view this author
本帖最后由 neocc 于 2022-11-16 21:10 编辑

楼主
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-composesud

应该是需要再把其改名为:/usr/local/bin/docker-compose 吧?



另外重建账号后一直有" mkdir: cannot create directory ‘ ’: Permission denied" 报错需要怎么处理呢? 加上了sudo也不行

166

帖子

0

威望

3347

eV
积分
3513

Level 5 (御坂)

13#
发表于 Post on 2022-11-16 18:11:25 | 只看该作者 Only view this author
在执行
  1. sudo apt install docker.io -y
复制代码
命令的时候如果有报错,可以参考一下解决方案:

安装docker 报错:

  1. $ sudo apt-get install docker.io
复制代码


下列软件包有未满足的依赖关系:
docker.io : 依赖: containerd (>= 1.2.6-0ubuntu1~)
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决:
# 查看是否安装了 containerd
  1. $ dpkg -l containerd*
复制代码

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称                          版本                体系结构            描述
+++-=============================-===================-===================-===============================================================
ii  containerd                    1.5.5-0ubuntu3~18.0 amd64               daemon to control runC
rc  containerd.io                 1.6.6-1             amd64               An open and reliable container runtime

# 如果containerd不存在,则安装
  1. sudo apt install containerd
复制代码

# 如果containerd.io不存在,则安装
  1. sudo apt-get install containerd.io
复制代码

# 安装成功后再安装 docker.io
  1. sudo apt-get install docker.io
复制代码

# 查询版本
  1. docker version
复制代码


其他:

# 如果不行,也可以安装 docker-ce
  1. sudo apt-get install docker-ce
复制代码



参考
docker.io : 取决于: containerd (>= 1.2.6-0ubuntu1~)

请参考:https://blog.csdn.net/p1279030826/article/details/126185482

227

帖子

6

威望

1712

eV
积分
2059

Level 5 (御坂)

14#
 楼主 Author| 发表于 Post on 2022-11-17 00:36:10 | 只看该作者 Only view this author
neocc 发表于 2022-11-16 16:47
楼主
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$ ...

不知道你是什么系统,我测试的系统都是20.04 几个机器都是没问题的。

166

帖子

0

威望

3347

eV
积分
3513

Level 5 (御坂)

15#
发表于 Post on 2022-11-17 01:07:12 | 只看该作者 Only view this author
wxyhgk 发表于 2022-11-17 00:36
不知道你是什么系统,我测试的系统都是20.04 几个机器都是没问题的。

谢谢楼主

我用的是ubuntu20.04
没有搞定自建账户,就直接用楼主的账号吧

如果是只有一台机器安装了slurm,工作节点和计算节点都是这一台机器,需要如何设置非root用户下的ssh免密和slurm呢?

本版积分规则 Credits rule

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

GMT+8, 2025-8-14 01:08 , Processed in 0.346419 second(s), 24 queries , Gzip On.

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