### PGI compiler update ### 2020/08/04 鈴木綾馬 作成 ### 参考 http://www.ep.sci.hokudai.ac.jp/~kodama/tebiki/TEBIKI.hikari-fortran.htm.ja ### ! はコメント,---に囲まれたところは上のコマンドの出力結果である. 1. ソフトウェアのダウンロード URL:https://www.pgroup.com/products/community.htm より Linux x86-64 を/work00/downloads にダウンロード 以下の作業は記載がなければ,/work00/downloads で行う. 2. インストール $ echo $SHELL ! シェルの確認 ------------------ /bin/bash ------------------ インストールの際,環境変数LANG を英語にする必要がある. bash の場合 # export LANG=C # tar zxvf pgilinux-2019-1910-x86-64.tar.gz ! 解凍 # ./install ! インストールスクリプトを実行 -------------------------------- ・・・ Do you accept these terms ? (accept, decline) accept -------------------------------- -------------------------------- A network installation will save disk space by having only one copy of the compilers and most of the libraries for all compilers on the network, and the main installation needs to be done once for all systems on the network. 1 Single system install 2 Network install Please choose install option : 1 --------------------------------- ---------------------------------- Please specify the directory path under which the software will be installed. The default directory is /opt/pgi, but you may install anywhere you wish, assuming you have permission to do so. Installation directory? [/opt/pgi] /work00/pgi ---------------------------------- ---------------------------------- ./install: 1: ./install: /work00/pgi/linux86-64/flexlm/lmutil: not found ./install: 1: ./install: /work00/downloads/install_components/linux86-64-nollvm/flexlm/lmutil: not found ./install: 1: ./install: /work00/pgi/linux86-64/flexlm/lmgrd: not found ./install: 1: ./install: /work00/downloads/install_components/linux86-64-nollvm/flexlm/lmgrd: not found ./install: 1: ./install: /work00/pgi/linux86-64/flexlm/pgroupd: not found ./install: 1: ./install: /work00/downloads/install_components/linux86-64-nollvm/flexlm/pgroupd: not found If you use the 2019 directory in your path, you may choose to update the links in that directory to point to the 19.10 directory. Do you wish to update/create links in the 2019 directory? (y/n) y ---------------------------------- ---------------------------------- ************************************************************************ MPI ************************************************************************ This release contains version 3.1.3 of the Open MPI library. Press enter to continue... Do you want to install Open MPI onto your system? (y/n) y Do you want to enable NVIDIA GPU support in Open MPI? (y/n) y ---------------------------------- ---------------------------------- ************************************************************************ License Key Management ************************************************************************ License Key Update: Would you like to replace your existing COMMUNITY 18.10 license key, valid until 31-OCT-2019, with a COMMUNITY 19.10 license key available at: /work00/pgi/license.dat-COMMUNITY-19.10? A copy of your existing license key file will be saved. Do you want to replace your existing license key file? (y/n) y ---------------------------------- ---------------------------------- The COMMUNITY 19.10 license key has been installed at: /work00/pgi/license.dat Your previous license key file is stored at: /work00/pgi/license.dat-COMMUNITY-31-OCT-2019 If you have a Professional Edition (for-fee) license, answer 'y' to the prompt below to obtain your latest permanent license key and configure a local license service. IMPORTANT: Professional Edition release 2019 (19.x) requires updated FlexNet v11.16.2.0 license service daemons included in this installation. A local license service is not required when using a separate license server on your network, or for Starter or Community license keys. If you already have a Starter license key you wish to use, place it in the file: /work00/pgi/license.dat For more information, please see http://www.pgroup.com/license or the PGI Installation Guide for your platform at http://www.pgroup.com/docs. Do you wish to obtain permanent license key or configure license service? (y/n) n ---------------------------------- ---------------------------------- The PGI license management script is available at: /work00/pgi/linux86-64-llvm/19.10/bin/pgi_license_tool Do you want the files in the install directory to be read-only? (y/n) n ---------------------------------- ---------------------------------- Installation complete. If you purchased Support Services, please note that the support services available to you are limited to the terms described in the file /work00/pgi/linux86-64-llvm/19.10/doc/SUPPORT_SERVICE. A copy of this file can also be found on the PGI website, at http://www.pgroup.com/support/SUPPORT_SERVICE. Please check http://www.pgroup.com/support/faq.htm for FAQ including installation, use of PGI software, and other questions. All PGI documentation is available online at: http://www.pgroup.com/resources/docs.htm ---------------------------------- 3. 環境変数設定 $ export PATH=$PGI/linux86-64/2019/bin:$PATH $ export MANPATH=$PGI/linux86-64/2019/man:$MANPATH ・共有フォルダ内の/etc/profile.d/pgi.sh に前のversionになっていたものを書き換えた. export PATH=$PGI/linux86-64/2019/bin:$PATH export MANPATH=$MANPATH:$PGI/linux86-64/2019/man ・共有フォルダ内の/etc/profile.d/mpi.sh に前のversionになっていたものを書き換えた. export PATH=/work00/mpich2-3.3.2/bin:$PATH ・もとのバージョンを使うには /etc/profile.d/pgi.sh 中を元の記述に /work00/pgi/license.dat を元のものに これで,前と同じように使えた ・動作試験 rsuzuki@nozomi:~$ pgf90 -dryrun -V Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/.pgf90rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/nativerc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/fnativerc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/x86rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/x8664rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/lin86rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/lin8664rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/pgf90llvmrc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/pgftnrc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/pgllvmrc Skipping pgllvmxrc (not found) Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/llvmrc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/pgllvmx86rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/pgllvmx8664rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/iparc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/noiparc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/acc1rc Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/acclin8664rc Skipping accxrc (not found) Skipping pgllvmomprc (not found) Reading rcfile /work00/pgi/linux86-64-llvm/19.10/bin/localrc Skipping localrc.nozomi (not found) Skipping siterc (not found) Skipping siterc.nozomi (not found) Skipping .mypgirc (not found) Skipping .mypgfortranrc (not found) Skipping .mypgllvmrc (not found) Skipping $MYLOCALRC (not found) pgf90 19.10-0 LLVM 64-bit target on x86-64 Linux -tp haswell PGI Compilers and Tools Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. Export PGI_CURR_CUDA_HOME=/work00/pgi/linux86-64-llvm/2019/cuda/ Export PGI=/work00/pgi ------------------------------------------------------------ ・openmpi テストプログラム test.f 1 program hello 2 include 'mpif.h' 3 integer ierr, myproc 4 character*10 hostname 5 call mpi_init(ierr) 6 call mpi_comm_rank(MPI_COMM_WORLD, myproc, ierr) 7 !ierr=setvbuf3f(6,2,0) 8 ierr=hostnm(hostname) 9 write(6,100) myproc,hostname 10 100 format(1x,"hello - I am process",i3," host ",A10) 11 print *, "Hello world! I'm node", myproc 12 call mpi_finalize(ierr) 13 end rsuzuki@nozomi:~$ /work00/pgi/linux86-64/2019/mpi/openmpi-3.1.3/bin/mpif90 test.f rsuzuki@nozomi:~$ /work00/pgi/linux86-64/2019/mpi/openmpi-3.1.3/bin/mpiexec -n 4 ./a.out ------------------------------------------------------------- hello - I am process 0 host nozomi Hello world! I'm node 0 hello - I am process 1 host nozomi Hello world! I'm node 1 hello - I am process 2 host nozomi Hello world! I'm node 2 hello - I am process 3 host nozomi Hello world! I'm node 3 ------------------------------------------------------------- 前のバージョンでは実行の際に,ライセンスがきれていると警告があったが,なくなったことを確認. ・前のバージョンでのtest.f の結果 rsuzuki@nozomi:~$ mpif90 test.f WARNING: Your license to use PGI Community Edition version 18.10 has expired. Please obtain a new version at http://www.pgroup.com/community or contact PGI Sales at sales@pgroup.com to obtain a perpetual license. WARNING: Your license to use PGI Community Edition version 18.10 has expired. Please obtain a new version at http://www.pgroup.com/community or contact PGI Sales at sales@pgroup.com to obtain a perpetual license. rsuzuki@nozomi:~$ mpiexec -n 4 ./a.out hello - I am process 1 host nozomi Hello world! I'm node 1 hello - I am process 2 host nozomi Hello world! I'm node 2 hello - I am process 0 host nozomi Hello world! I'm node 0 hello - I am process 3 host nozomi Hello world! I'm node 3