OpenHPC
Linux基金开源超算
授权协议:BSD
开发语言:C/C++
官网地址:https://openhpc.community

软件介绍

OpenHPC是一套基于LinuxHPC社区驱动的FOSSFree and open source software,自由及开放源代码软件)工具。OpenHPC对硬件没有特殊要求。

OpenHPC提供了一个集成且经过测试的软件组件集合,以及支持的标准Linux发行版,可用于实现功能齐全的计算集群。组件涵盖整个HPC软件生态系统,包括配置和系统管理工具、资源管理、I/O服务、开发工具、数值库和性能分析工具。

1.    安装操作系统和依赖仓库

1)     安装操作系统

在安装OpenHPC前需要先安装好操作系统。

用户可以使用传统手工安装操作系统的方式,也可以基于其他批量安装操作系统的方式。例如可以参考https://openhpc.community/downloads/中Install Recipes区域CentOS 7.6 aarch64中的文档进行集群环境下的部署。

Install guide with Warewulf + PBS Professional (PDF)

Install guide with Warewulf + Slurm (PDF)

此外OpenHPC依赖OS base仓库和EPEL仓库的包,因此用户需要在服务器上先配置好OS base仓库与EPEL仓库。

2)     配置OS base仓库

如果后续发现操作系统缺少相关的软件包,可参考下面的方法,通过yum命令安装软件包。

a)     上传iso镜像文件到服务器的“/tmp”目录。

b)     新建“/cdrom”目录,并且将iso镜像文件挂载到“/cdrom”目录上。

# mkdir /cdrom 
# mount -o loop CentOS-7-aarch64-Everything-1810.iso /cdrom

c)      将“/etc/yum.repos.d/”下所有repo后缀的文件删除。

# cd /etc/yum.repos.d 
# rm *.repo

d)     新建yum配置文件。

# vim /etc/yum.repos.d/dvd.repo

e)     添加以下的内容到新建的yum配置文件dvd.repo。

[CentOS 7.6-Base]  
Name=CentOS 7.6 DVD Repo  
baseurl=file:///cdrom 
enabled=1  
gpgcheck=0

[CentOS 7.6-Base]代表repo的ID,由用户自定义。

Name=CentOS 7.6 DVD Repo代表yum源的名称,由用户自定义。

baseurl=file:///cdrom/Server代表yum源的位置。

enabled=1代表是否启用该yum源,1为启用,0为禁用。

gpgcheck=0代表是否让yum检查每个RPM包的GnuPG前面,1为启用,0为禁用。

f)      检查yum本地源配置是否生效。

# yum repolist 
Loaded plugins: fastestmirror, langpacks 
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast 
Loading mirror speeds from cached hostfile 
repo id                                                             repo name                                                          status 
!CentOS                                                             CentOS                                                             7,570+1 
repolist: 7,570

-

3)     安装EPEL仓库

EPEL(Extra Packages for Enterprise Linux))是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附加包集合,适用于但不仅限于 Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL), Oracle Linux (OL)。

操作步骤

a)     参考http://mirrors.ustc.edu.cn/help/epel.html,执行以下命令,安装EPEL仓库。

sudo yum install -y epel-release 
sudo sed -e 's!^mirrorlist=!#mirrorlist=!g' \ 
         -e 's!^#baseurl=!baseurl=!g' \ 
         -e 's!//download\.fedoraproject\.org/pub!//mirrors.ustc.edu.cn!g' \ 
         -e 's!http://mirrors\.ustc!https://mirrors.ustc!g' \ 
         -i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo

用户可以根据自己的网络所在地将/etc/yum.repos.d/epel.repo中的仓库url修改为如下几个地址:

http://mirrors.sohu.com/fedora-epel/

http://mirror.sjtu.edu.cn/fedora/epel/

如果客户在内网,无法访问互联网, 建议使用wget命令通过递归的方式将EPEL库完整下载到本地使用。

-

2.    安装OpenHPC

1)     单节点下安装OpenHPC

OpenHPC的安装方式有两种:

a)     集群可以访问互联网

                                    i.          用户可以参考https://openhpc.community/downloads/中的说明,安装包含yum repo描述的RPM包。

rpm -ivh https://github.com/openhpc/ohpc/releases/download/v1.3.GA/ohpc-release-1.3-1.el7.aarch64.rpm

                                  ii.          用户使用yum search命令搜寻所需要的软件包,或者使用yum list命令列出所有软件包。

b)     集群处于内部网络,无法访问互联网

                                    i.          用户可以参考https://github.com/openhpc/ohpc页面中Getting started章节,直接下载包含所有OpenHPC软件的Tar包。

例如最新的OpenHPC 1.3.8针对aarch64 CentOS 7.6的Tar包地址为:http://build.openhpc.community/dist/1.3.8/OpenHPC-1.3.8.CentOS_7.aarch64.tar

                                  ii.          OpenHPC-1.3.8.CentOS_7.aarch64.tar下载并上传至服务器,然后执行以下命令安装。

mkdir OpenHPC 
tar xf OpenHPC-1.3.8.CentOS_7.aarch64.tar 
–C OpenHPC 
cd OpenHPC 
./make_repo.sh

通过上述操作,将自动在“/etc/yum.repos.d”中创建OpenHPC.local.repo文件。此后用户可以通过yum命令安装OpenHPC中的软件包。

2)     集群下安装OpenHPC

a)     所有节点上传OpenHPC安装包到本地“/opt/openhpc”目录下。

“/opt”目录请不要设置NFS共享。

b)     集群下在每个节点上执行以下解压命令,或者使用clush批量执行命令。

tar -xvf /opt/openhpc/OpenHPC-1.3.8.CentOS_7.aarch64.tar -C /opt/openhpc/

c)      在每个节点上执行解压出的make_repo.sh文件。

cd /opt/openhpc/OpenHPC-1.3.8.CentOS_7.aarch64 
./make_repo.sh

-

3.    典型软件安装示例

OpenHPC中的软件会指明使用哪个编译器、哪个MPI编译的,例如fftw-gnu8-openmpi3-ohpc,即指明使用GNU 8编译器与OpenMPI 3编译生成。fftw-gnu8-openmpi3-ohpc RPM包在构建的时候已经指明了依赖对应的编译器和MPI。

操作步骤

1)     安装Lmod。

yum install lmod-ohpc

OpenHPC包含多种编译器、MPI、数学库,因此需要使用有效的手段来管理这些软件和库。OpenHPC通过Lmod软件使用module方式进行软件的管理。因此在安装编译器、MPI等软件和库之前需要先安装Lmod。

安装后重新登录shell就可以使用module命令进行管理。

每个节点只需要安装Lmod一次。

2)     查询fftw-gnu8-openmpi3-ohpc依赖的编译器和库。

yum deplist fftw-gnu8-openmpi3-ohpc

可以查询到fftw-gnu8-openmpi3-ohpc依赖gnu8-compilers-ohpc.aarch64和openmpi3-gnu8-ohpc。

3)     基于步骤2的查询结果,执行以下命令安装库、编译器和MPI。

yum install fftw-gnu8-openmpi3-ohpc

如果用户希望单独安装编译器和MPI,再自己编译软件,则可以执行以下命令单独先安装编译器和MPI:

yum install gnu8-compilers-ohpc openmpi3-gnu8-ohpc

软件下载

源码下载立即下载