CentOS7でyumからインストール可能な OpenMPI は 1.10.7 と 3.1.3 の2つある
2019-01-25に 3.0.2 から 3.1.3 へ更新されている
[root@centos7 ~]# yum list openmpi openmpi3
:
:
Installed Packages
openmpi.x86_64 1.10.7-5.el7 @base
Available Packages
openmpi.i686 1.10.7-5.el7 base
openmpi3.i686 3.1.3-2.el7 base
openmpi3.x86_64 3.1.3-2.el7 base
[root@centos7 ~]#
中身を詳しく調べると
[root@centos7 ~]# /usr/lib64/openmpi/bin/ompi_info |less
:
:
C compiler: gcc
C compiler absolute: /usr/bin/gcc
C compiler family name: GNU
C compiler version: 4.8.5
C++ compiler: g++
C++ compiler absolute: /usr/bin/g++
Fort compiler: gfortran
Fort compiler abs: /usr/bin/gfortran
:
[root@centos7 ~]#
とGCC-4.8.5で拵えた物.
これをdevtoolset-9なGCC-9で作られ、しかもopenMPIのバージョンを最新のVersion 4.1で用意できないものかと.
詳細はこちらCentOS/devtoolset
っでもって
[root@centos7 ~]# source scl_source enable devtoolset-9
[root@centos7 ~]# gcc --version
gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@centos7 ~]#
にて gcc-9.3.1 が使える環境にして
EnvironmentModulesについて参照先https://github.com/open-mpi/ompi/issues/6914
最新のopenmpi-4.1を取得(210127現在)
[root@centos7 ~]# curl -O https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0-1.src.rpm
[root@centos7 ~]# rpmbuild --rebuild --clean \
--define 'install_in_opt 1' \
--define 'install_modulefile 1' \
--define 'build_all_in_one_rpm 0' \
--define 'modulefile_path /etc/modulefiles' \
--define 'modulefile_subdir mpi' \
openmpi-4.1.0-1.src.rpm
'install_in_opt 1': インストール先を/optを起点にします
'install_modulefile 1': EnvironmentModulesのmoduleファイルを用意します
'build_all_in_one_rpm 0': devel,doc,rumtimeとrpmパッケージを分けます
'modulefile_path /etc/modulefiles':
'modulefile_subdir mpi': moduleファイルの場所を /etc/modulefiles/mpi/<version> とします
[root@centos7 ~]# ls -l rpmbuild/RPMS/x86_64/
total 18816
-rw-r--r--. 1 root root 723464 Jan 27 11:19 openmpi-devel-4.1.0-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 241656 Jan 27 11:19 openmpi-docs-4.1.0-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 18298556 Jan 27 11:19 openmpi-runtime-4.1.0-1.el7.x86_64.rpm
[root@centos7 ~]#
中身を確認
[root@centos7 ~]# rpm -qpli rpmbuild/RPMS/x86_64/openmpi-runtime-4.1.0-1.el7.x86_64.rpm
:
/etc/modulefiles
/etc/modulefiles/mpi
/etc/modulefiles/mpi/4.1.0
/opt/openmpi
/opt/openmpi/4.1.0
/opt/openmpi/4.1.0/bin
/opt/openmpi/4.1.0/bin/aggregate_profile.pl
/opt/openmpi/4.1.0/bin/mpiCC
/opt/openmpi/4.1.0/bin/mpic++
:
と「/opt/openmpi/4.1.0」にインストールされてくれる. ありがたい.
[root@centos7 ~]# yum localinstall rpmbuild/RPMS/x86_64/openmpi-runtime-4.1.0-1.el7.x86_64.rpm
[root@centos7 ~]# /opt/openmpi/4.1.0/bin/ompi_info
:
:
C compiler: gcc
C compiler absolute: /opt/rh/devtoolset-9/root/usr/bin/gcc
C compiler family name: GNU
C compiler version: 9.3.1
C++ compiler: g++
C++ compiler absolute: /opt/rh/devtoolset-9/root/usr/bin/g++
Fort compiler: gfortran
Fort compiler abs: /opt/rh/devtoolset-9/root/usr/bin/gfortran
:
:
[root@centos7 ~]#
openmpiとOpenPBSを組み合わせて --tm を有効にさせるには
dnf install openssl-devel
が必要.