美文网首页
超算(北航限定)踩过的坑

超算(北航限定)踩过的坑

作者: 腹黑君 | 来源:发表于2022-04-03 01:59 被阅读0次

由于超算的便捷性,目前开始使用超算,但本人对于Linux命令流一窍不通,安装各种软件和命令都踩了不少坑,北航的超算平台也各种反人类。

北航超算的相关信息:

本系统配置了 3 个登录节点,260 个 CPU 计算节点(注意!),10 个 GPU 计算节点(注意!),一套 1.8P 共享存储。所有节点通过 100Gb/s EDR Infiniband 互联组成计算和存储网络。系统详细配置如下:

1) 登录管理节点:共 3 个登录节点。(只影响登陆)

2) GPU 计算节点:共 10 个 GPU 计算节点,每个节点配置 2 颗 Intel Golden 6240 系列处理
器(每个卡有18核处理器),共 36 个物理核,384GB 内存,8 个 NVIDIA V100 GPU 卡。

3) CPU 计算节点:共 260 个 CPU 计算节点,每个节点配置 2 颗 Intel Golden 6240 系列处
理器(每个卡18核处理器),共 36 物理核,384GB 内存(注意)(根据 IB 网络配置,单个作业最多使用 160 个计算节
点)。

4) 并行存储系统:配置一套 DDN 并行存储系统,共配置 1.8PB 存储容量。

5) 管理网络:配置一套千兆管理网;

6) 带外管理网络:配置一套千兆带外管理网;

7) 计算网络:配置一套 100Gb/s 高速 Infiniband 网。

总共电脑数有几个不知道啊。

  1. nn表示计算节点数,这里你可以自己选择,因为cpu最多160个计算节点

计算节点数/计算机数 = 每台计算机运行节点数
为什么要分配节点数,因为一台计算机的内存有限,最常见的原因是求解器所需的内存太多,无法在一台主机上运行。系统最大384GB 内存

nnhost表示要在每个主机计算几个节点。

  1. np表示核数
    表示每个计算节点使用可用的内核数
    nn*np 是活动核数(每个节点不要超过36个)

理论上可以用160个计算节点,于是160✖️36=5760。
也就是每个计算节点最多可以申请36个核,cpu最多申请活动的总核数可以到达5760个。但实际不可能让你申请那么多计算节点,全校这么多人在用。

例如:
使用4个计算节点(nn=4),每个计算节点分配8个核(np=8,np*nn=32),每个计算机分配2个节点(nnhost=2)
这样实际就用了两台计算机

使用2个计算节点(nn=2),每个计算节点12个核(np=12,np*nn=24),每个计算机分配1个节点(nnhost=1)
这样也是用了两台计算机

这些是我的观点,有错误可以指出

例子:

/gs/home/xx/Comsol/comsol56/multiphysics/bin/comsol batch -nn 1 -nnhost 12 -np 12 -inputfile ${INPUTFILE} -outputfile ${OUTPUTFILE} \
-batchlog $

表示1个计算节点,每个主机计算12个节点数,每个节点都使用12个内核

分布式计算就是希望通过指派多个节点,并行计算程序(我在瞎说,不严格就当没看到)
但并不是核越多越好问题的规模会影响加速效果。对于非常大型的模型(如几百万个自由度),加速效果会更好。如果您使用非常小的模型,则在使用多个内核时,加速会受到限制。此外,可能达到的最大加速效果还受到算法非并行部分的限制。

运行时长例子:针对同一套matlab程序,有

#SBATCH -N 4            # 使用 4 个节点
#SBATCH -n 20           # 共使用 20 个进程(cpu 核)
#SBATCH --ntasks-per-node=5 # 每个节点启动 5 个进程
结果为:
Elapsed time is 97.883870 seconds.
#SBATCH -N 4            # 使用 4 个节点
#SBATCH -n 60           # 共使用 60 个进程(cpu 核)
#SBATCH --ntasks-per-node=15    # 每个节点启动 15 个进程
结果为:
Elapsed time is 94.403575 seconds.

参考:http://cn.comsol.com/support/knowledgebase/1001
https://cn.comsol.com/blogs/hybrid-computing-advantages-shared-distributed-memory-combined/

程序安装

安装的例子b站很多,可以多搜索多试试

一、Matlab

北航超算居然没有安装matlab,滑天下之大稽,居然有高校超算不装matlab的,真是闻所未闻....
事先说明,csdn有个北航安装超算的帖子,本人亲测无用,因为是用X11的,下不到X11的我直接选择静默安装。

那个帖子如下:https://blog.csdn.net/weixin_41692946/article/details/120971906

我的安装历程:

1. 下载Linux版 matlab,这里都用2019.链接在 https://pan.baidu.com/s/17fBd0XX0At5cevaLzxUuhQ
注意把里面的破解包也下过来

2. 本地解压后上传服务器端,你要直接用服务器7zip也行

3. 将文件上传的地方进行修改权限,你可以选择手动修改,直接改为777
捕获.JPG
或者通过命令修改 
chmod 777 /路径/install

好的,修改命令的指令你会了。你需要修改这几个文件的权限:
/gs/home/XX/matlab/R2019b_Linux/install
/gs/home/XX/matlab/R2019b_Linux/bin/glnxa64/install_unix
/gs/home/XX/matlab/R2019b_Linux/sys/java/jre/glnxa64/jre/bin

修改完了;当然你也可以对所有文件修改权限。

4. 开始安装

1. 直接cd到安装包所在文件夹/gs/home/XX/matlab/R2019b_Linux/,然后 ./install
结果: 报错
Error: Installation cannot proceed. You may either:
1. Set an X11 display, and restart the install process
2. Use the silent install feature by specifying the -mode silent option

后来发现:必须静默模式下安装,因为没有可视化界面

2. 修改后命令 ./install -mode silent

接着报错:说 the Installer cannot be run from inside the DVD directory. Change to your home directory and execute this command.

百度之,发现不能直接在挂载的目录即matlab文件夹下运行./install,可以返回上级目录运行./matlab/install

3. 接着回上一层文件夹/gs/home/XX/matlab/
然后 ./install -mode silent -agreeToLicense yes -fileInstallationKey 09806-07443-53955-64350-21751-41297
接着报错:
Error: 不能在home文件创造xx(英文反正这个意思)
确实,我没有根目录的权限也不可能装在学校根目录下啊,得手动修改安装路径

4. 只能自己打开安装包信息看看了,在/gs/home/xx/matlab/R2019b_Linux/install_input.txt

## SPECIFY INSTALLATION FOLDER
## 
## Example: 
##        (Windows) destinationFolder=C:\Program Files\MATLAB\RXXXX
##        (Unix) destinationFolder=/usr/local/RXXXX
##        (Mac) destinationFolder=/Applications
##
## Set the desired value for destinationFolder and 
## uncomment the line. 

# destinationFolder=

## SPECIFY FILE INSTALLATION KEY 
##
## Example: fileInstallationKey=xxxxx-xxxxx-xxxxx-xxxxx.....
##
## Set the desired value for fileInstallationKey and 
## uncomment the line.
##
# fileInstallationKey=


好吧,把安装的绝对路径及序列号加上
最终安装命令: 
./R2019b_Linux/install -mode silent -agreeToLicense yes -fileInstallationKey 09806-07443-53955-64350-21751-41297 -destinationFolder /gs/home/xx/Matlab

好,这下成功安装中了,接着和师弟出去吃饭了,回来一看傻眼了,被程序kill了



5. 询问超算客服,得知是负载过高....

忍住吐槽的心(安装个matlab也能负载过高,你这可是超算啊),把原来的安装残余文件删除(不然这些残余文件会影响下次安装)
自己写个脚本提交计算节点好了

于是我把脚本放在这里了, 建立了脚本 install_mat.sh

#!/bin/bash
#SBATCH -J std
#SBATCH -p cpu-normal
#SBATCH -N 1
#SBATCH -n 20
#SBATCH -t 10000:00
#SBATCH --mail-type=all 
#module load intel/17.0.7-thc

cd ${SLURM_SUBMIT_DIR}
mkdir ${SLURM_JOBID}
export TMPDIR=${SLURM_SUBMIT_DIR}
./R2019b_Linux/install -mode silent -agreeToLicense yes -fileInstallationKey 09806-07443-53955-64350-21751-41297 -destinationFolder /gs/home/xx/Matlab
make
make install

提交完,系统又卡bug了,不过这次是官方的问题
美滋滋出去吃个夜宵
安装OK的标志:查看文件slurm-4537276.out
会有信息
Exiting with status 0
End - Successful.
Finished
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install`.  Stop.

妥了

6.  回来一看,准备打开,想起来还需要激活,于是看下前面crack的文件 readme.txt
standalone:
- Install choosing the option "Use a File Installation Key" and supply the following FIK
    09806-07443-53955-64350-21751-41297
- To install Matlab Production Server,using this
    40236-45817-26714-51426-39281
- Use license_standalone.lic to activate,
  or copy license_standalone.lic to %installdir%\licenses\ ,and run matlab without activation
- after the installation finishes copy the folders to %installdir% to overwriting the originally installed files

好,告诉我们两个事:
1. 需要在你安装的目录新建一个licenses的文件夹,把 license_standalone.lic 放进去
2. 把 libmwlmgrimpl.so 这个文件取代安装位置bin/glnxa64/matlab_startup_plugins/lmgrimpl/中的同名文件,记着取代之前该原始文件权限777

7. 两个文件都搞定以后,直接cd到安装好的matlab路径:
./matlab
(网上说需要./matlab -chome/usr/matlab2016/licenses/license_standalone.lic, 但是我直接matlab就打开了,前面也说直接copy就行,不知道为啥)

8. 
出现以下文字


MATLAB is selecting SOFTWARE OPENGL rendering.

                                                                      < M A T L A B (R) >
                                                            Copyright 1984-2019 The MathWorks, Inc.
                                                            R2019b (9.7.0.1190202) 64-bit (glnxa64)
                                                                        August 21, 2019


To get started, type doc.
For product information, visit www.mathworks.com.

>> 1+1

ans =

     2

成功打开


有些可能需要清空系统的缓存,命令rm -r -f ~/.matlab/(我没试过,总之看rp)


9. 提交作业
两种方式:
1. 采用后台计算,并不是提交到计算节点上,cd到作业的目录,然后输入
nohup matlab -nodesktop -nosplash < test.m >running.log 2>running.err

这种方法不推荐,因为不能调度服务器的资源

2. 采用脚本提交作业
于是采用matlab提交作业脚本进行提交,提交脚本如官方指导,奉上
matlab_slurm.sh

#!/bin/bash
#SBATCH -J test             # 任务名字是 test
#SBATCH -p cpu-normal       # 提交到 normal 分区
#SBATCH -N 4            # 使用 4 个节点
#SBATCH -n 20           # 使用 20 个进程(cpu 核)
#SBATCH --ntasks-per-node=5 # 每个节点启动 5 个进程
#SBATCH -t 10000:00         # 任务最大运行时间是 10000 分钟
#SBATCH -o  test.out        #正确的输出
#SBATCH -e  err.out     #错误的输出

# module add matlab             # 添加 MATLAB 模块,由于在超算中我们使用的是自己的matlab程序,所以这里不载入环境
matlab -nodesktop -nosplash -nodisplay -r "test_" # 使用 MATLAB 运行当前文件夹中的 Test.m 文件

Bingo!

参考:视频

https://www.cnblogs.com/graybird/p/9104581.html
https://blog.csdn.net/yuanchheneducn/article/details/50172027
https://blog.csdn.net/weixin_40562999/article/details/112394410
https://zhuanlan.zhihu.com/p/339545166
https://blog.csdn.net/sethinking/article/details/88375995
https://blog.csdn.net/qq_15015187/article/details/107740427

二、Comsol

Comsol安装并无大碍,非常顺利,我的是5.6版本

1 cd到路径,然后直接chmod +x -R .
修改权限

2 ./setup 
按照流程安装comsol,其他没啥可说的。可能需要进入根界面才有图像化界面,很简单, 为啥comsol能有安装界面啊我擦

3. 提交脚本,待执行文件为mph格式,脚本文件为sh,可以参照自己的文件。
脚本文件无私分享:
#!/bin/bash
# slurmsubmit.sh
#SBATCH -J std
#SBATCH -N 1
#SBATCH -n 20
#SBATCH -p cpu-normal
#SBATCH --mem 256G
#SBATCH -t 10000:00
#SBATCH -D "/gs/home/xx/Comsol/comsol54/multiphysics/bin/"
#SBATCH -o slurm.out
#SBATCH -e slurm.err
#SBATCH --mail-type=all 
#module load intel/17.0.7-thc

# no limit Ram 
ulimit -s unlimit

cd ${SLURM_SUBMIT_DIR}
mkdir ${SLURM_JOBID}
export TMPDIR=${SLURM_SUBMIT_DIR}

input=R20R100_ABH_WO_Damp
INPUTFILE=$input.mph


OUTPUTFILE=${SLURM_JOBID}/${MODELTOCOMPUTE}
BATCHLOG=${SLURM_JOBID}/${MODELTOCOMPUTE}.log

# -nn
/gs/home/xx/Comsol/comsol56/multiphysics/bin/comsol batch -nn 1 -nnhost 12 -np 12 -inputfile ${INPUTFILE} -outputfile ${OUTPUTFILE} \
-batchlog ${BATCHLOG}

参考:https://www.cnblogs.com/xiao-apple36/p/9264875.html

三、abaqus

基本需要多试几个节点

1. 将abaqus安装文件上传,首先破解license
2. 在安装目录下输入 ./lmgrd -c abaqus.lic
3. 安装成功后进入abaqus安装,首先创建一个文件夹,并cd到该文件夹
4. 通过chmod + x /setup文件位置(安全打开)
5. 接着csh /setup文件位置(可能需要创建一个scratch的文件位置,输入就好了)
6. 再chmod + x +install.bin文件位置(直接拷贝上面的)
7. 接着csh /setup文件位置
8. enjoy安装
9. 可能需要清空系统的缓存,命令rm -r -f ~/.abaqus/(我没试过)
10. 一个节点安装不成试用多个,这个安装真的靠rp
提交文件就不放在这里了,网上到处都是

参考:来自视频

四、安装解压缩程序

在超算安装其他源程序如p7zip 
1. 下载需要的文件(可以用超算直接下载,超算联网的)
2. chmod打开文件,然后注意用文档查看install文件(注意修改安装位置),和前面装matlab类似
3. make&make install或者./install

参考:https://www.cnblogs.com/xiao-apple36/p/9264875.html

五、一些小白的命令

$ squeue -u xx   查看自己任务

$ scontrol show job 280675   查看自己任务详情

$ sbatch xx.sh    提交任务

./ 指在当前目录

pwd 显示文件位置

cd 进入用户主目录

$ du -hs /gs/home/xx/ 查看容量

$ rm -rf 路径   删除文件夹

Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.
Ctrl+c是强制中断程序的执行。
Ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态。

cd进入文件(不可在Ln上直接提交,需要cd进入文件夹里面提交)
将xx.sh中的文件名与提交节点修改,将inp文件与该文件一起上传至文件区,然后使用$ sbatch xx.sh提交即可。
可同时计算三个作业。其他都会排队。

scancel (id) 取消作业

费用查询 http://10.212.66.3

相关文章

  • 超算(北航限定)踩过的坑

    由于超算的便捷性,目前开始使用超算,但本人对于Linux命令流一窍不通,安装各种软件和命令都踩了不少坑,北航的超算...

  • 吃一堑长一智

    首先,要先吃一堑,俗称“踩坑”。 踩过坑,吃过亏,从中吸取一点教训,避免重复犯错误,这坑也算没有白踩。 最近看到一...

  • 交互设计师所要避免的几个坑

    前言 工作中难免会踩到几个坑,即使现在不踩以后还会踩,只有踩过才会深刻记住,踩过说明爱过!但是踩过的坑必须把坑填满...

  • 副业打假,轻轻松松月入过万?

    不想被骗的给我看完! 踩过你踩过的坑,我们算不算相拥。 今天跟你们分享6个副业大坑,拔出来一个算一个。 第一个坑,...

  • vue踩过的坑

    vue踩过的坑

  • D1094:踩坑的价值最大化

    是人就会踩坑,不踩坑理论上就不属于人类,踩坑是人之常情,能回头站在坑边反思,才是对踩过的的坑价值最大化的体现,要不...

  • 算法踩坑4-冒泡排序

    背景 接上面三篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 来继续聊聊最近我写的一些算...

  • 投资避坑指南

    2022年9月14日(第224天) 经常反思踩过的坑,犯过的错,了解别人踩过的坑,犯过的错,思考如何避免自己下次踩...

  • PHP中的数据类型

    一说到数据类型,这个坑就太多了,多到有哪些坑,有多少坑,不知道自己还会踩哪些坑,以及踩过的坑还会不会再踩,我对...

  • 踩过的坑

    1、关于Windows下修改hosts文件无法生效,刚开始直接用浏览器打开发现404,后来ping域名才发现是连接...

网友评论

      本文标题:超算(北航限定)踩过的坑

      本文链接:https://www.haomeiwen.com/subject/ovgxsrtx.html