HPL测试的配置(依赖于BLAS),通过OpenMpi进行实现
Posted $mathcal{Vocanda}$
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HPL测试的配置(依赖于BLAS),通过OpenMpi进行实现相关的知识,希望对你有一定的参考价值。
1.1 虚拟机的配置
1.1.1 Linux 光盘映像文件
由于对于Ubuntu系统更为熟悉,所以选择了最新版的Ubuntu系统作为Linux发行版。
1.1.2 Hypervisor
由于之前一直使用VMware,对其中操作熟悉,因此选择VMware作为Hypervisor
1.2 搭建集群并安装相关程序
1.2.1 创建虚拟机
以上为虚拟机配置过程,安装成功后进入Ubuntu界面
1.2.2 下载并安装OpenMPI
下载好压缩包后,进行解压,进入openmpi文件夹,配置安装路径,后使用
make
sudo make install
进行编译安装
· 更改 PATH 和 LD_LIBRARY_PATH
在~/.bashrc中最开头加入指令
PATH=$PATH:/usr/local/openmpi/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi/lib/
export PATH LD_LIBRARY_PATH
进行环境变量的配置
1.2.3 下载并安装HPL
· BLAS
· 首先检查并安装gfortran、gcc
sudo apt-get install gfortran
sudo apt-get install gcc
gfortran -v
gcc -v
· 编译BLAS和CBLAS
解压blas压缩包后,编译其中文件,生成blas_LINUX.a静态头文件包
将其复制到解压后的CBLAS文件夹中,编译CBLAS文件,得到cblas_LINUX.a
将两个文件包拷贝到/usr/local/lib/目录下,作为目录路径。
· 安装HPL
解压压缩包后,从 setup/ 文件夹中拷贝 Make.Linux_PII_CBLAS 架构的 Make 文件到根目录
修改Make文件中参数
# Make.Linux_PII_CBLAS
# arch
ARCH = Linux_PII_CBLAS
...
# MPI
MPdir = /usr/local/openmpi/
MPinc = -I$(MPdir)/include
MPlib = -L$(MPdir)/lib
# BLAS
LAdir = /home/BLAS-3.11.0
LAinc =
LAlib = $(LAdir)/lib
...
# compiler
CC = /usr/local/openmpi/bin/mpicc
LINKER = $(CC)
将Make.top 中的 arch 改为 Linux_PII_CBLAS,运行 make arch=Linux_PII_CBLAS
在testing文件夹中得到了xhpl运行文件
1.2.4 克隆节点
使用虚拟机中克隆,克隆完整虚拟机
1.3 测试集群
1.3.1 ping
在主机上,全部节点都可以ping通
1.3.2 配置SSH
主机中运行ssh-keygen得到公钥
将所有虚拟机设置为可以远程操控,并且安装客户端与服务端,openssh-client 和 openssh-server
使用ssh-copy-id ip 将公钥拷贝到其他子虚拟机.ssh/authorized_keys中,并且测试ssh能否连通
1.3.3 配置hostfile并测试
编写hostfile
运行
mpirun -hostfile hosts uptime
mpirun -hostfile hosts ./xhpl #该指令在hpl文件夹中运行
HPL测试完成!
ASC19超算概述
初赛题目组成
- 设计超算集群(看参考文献做设计)
- 对超算集群进行性能测试(一般来讲的测试工具就是用HPL,找到最适合的参数,达到最优秀的计算能力)
- 数字图像处理(通常代码量较大,代码优化较为困难,优化偏重于编译参数,运行参数和数学库BLAS的重新链接,对于热点可以考虑并行(读写)算法)
- 气候预测(这个需要做的就是优化代码,目的是提高计算速度和节省程序占用的内存空间)
压缩包内部一般都有README,可以参考该文件说明进行安装和配置。
1、设计超算集群
2、性能测试
3、数字图像处理
- GAN
4、CESM
参考文献
- 超算集群系统的组成:针对问题一
- 如何获取超算平台?:针对问题一
- News of ASC19
- 超算比赛经验
- ASC18世界大学生超算竞赛题目分析以及思路总结
以上是关于HPL测试的配置(依赖于BLAS),通过OpenMpi进行实现的主要内容,如果未能解决你的问题,请参考以下文章