写这个脚本是为了方便女朋友安装。
本人水平有限,如有疏漏还请指出。
这个文档提供了一个脚本,可以帮助你很轻松地安装 2020 年第一学期贺红老师的 18 级高性能计算课程开始所需要的HPL
和HPCC
两个 benchmark 工具,请按照如下步骤进行,除此之外不需要下载任何BLAS等其他软件包:
写了一个编写过程和原理解释,有兴趣的同学可以看一下,一起交流^ ^
【重要】3月14日 18:40更新:
之前由于个人疏忽,没仔细看账号主目录下的.bashrc
文件,因此造成断开再登录时测试报错,提示"Error While Loading Shared Libraries: libiomp5.so"
,解决方法如下:
- 如果之前未安装,新的脚本已经更新,无需操作。
- 如果之前使用脚本安装过:
- 临时方案:每次登录时,执行(在哪个目录执行无所谓)
# 取出/home/train/.bashrc中的命令并执行 source ~/../bashrc
优点 | 不改变shell登录时的配置文件 |
---|---|
缺点 | 只在一次登录中有效,断开连接(注销)后即失效 |
- 永久方案:登录,进入到
自己学号的目录
,执行# 用/home/train/.bashrc覆盖用户主目录下的.bashrc cp ~/../bashrc ~/.bashrc
下次再登录的时候就不会出现问题了。
优点 | 一次修改,永久生效(当然也可以再改回去) |
---|---|
缺点 | 其实没啥大缺点 |
对于永久方案,我认为是没有危害的。因为/home/train/.bashrc
和/home/train/stuxx/.bashrc
两者仅有三行区别,这三行的作用是将相关库的目录加入环境变量中。而由于.bashrc
是每次登录终端时执行,因此以后如果不想要这几个环境变量了,再用vim编辑一下,删掉后面三行即可。
3月14日 11:40更新:部分账号下由于之前安装更改了环境变量导致错误。加上了修复MKL
等环境变量的语句。
1. 准备工作
- 登录学校 VPN,并使用 Xshell 等 ssh 连接软件连接到学校超算节点
- 确认你已经创建了你自己的目录,并进入你的目录,请执行:
cd 201800XXXXXX
结果如下图所示,注意$
符号前出现了你的学号
2. 下载脚本并使用
- 请务必确认你现在处于你自己的目录(以你学号命名的目录)下,执行
# 注意:此ftp账号无密码,复制时确认最后没有空格
wget ftp://[email protected]/install-onekey.sh --ftp-password=
# 获取执行权限并执行
chmod +x install-onekey.sh
./install-onekey.sh
- 按照提示输入 y,脚本自动完成下载、解压、编译等任务
耐心等候一小会,坐和放宽,最后结果如下图,不出现 error 提示就对
更细致地说,满足以下条件,代表程序编译成功:
目录
201800xxxxxx/hpl-2.3/bin/sduwhhpl
下,有HPL.dat
和xhpl
两个文件,表示HPL
编译成功
目录201800xxxxxx/hpcc-1.5.0
下,有hpcc
文件,表示HPCC
编译成功
3. 测试
具体测试目录见上面
测试 HPL
#在 HPL.dat 文件所在目录(详细目录见上面)下执行 xhpl 程序
mpirun -np 4 ./xhpl # 4个CPU并行
测试 HPCC
#在hpcc所在目录(详细目录见上面)执行下列操作
cp \_hpccinf.txt hpccinf.txt
mpirun -np 4 ./hpcc
# 运行结束后会在当前目录生成一个 hpccoutf.txt 的结果文件
以上就是全部的安装过程了,祝愿安装顺利。
4. 一些发现
HPL(High Performance Linpack),是用于并行计算的高性能计算测试软件。当前最新版本是2.3
。HPCC 本质上就是使用的HPL
,HPCC 1.5
之后就不再更新,HPCC 集成的是HPL 2.0
因此两者的编译文件非常相似。只需要修改一点地方。区别仅在于HPCC
不需要在配置中指定HPL
目录,因此那部分不填。
HPL 的编译配置文件,我是基于setup
目录里的Make.Linux_Intel64
修改,使用此模板的原因是学校集群使用的是 Xeon E5-2620 处理器。我们所在的 train 目录下已经写好了mkl
和mpi
的环境变量,因此不需要再下载blas
和mpi
软件包。