本家様https://www.open-mpi.org/

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で用意できないものかと.

devtoolset

詳細はこちら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 が使える環境にして

openMPI

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 ~]#

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2021-01-27 (水) 11:29:55 (80d)