Fortran コンパイラーのインストール

  • 履歴
    • 2012/08/12 杉山耕一朗
    • 2013/04/03 小高正嗣, 荻原弘尭

PGI fortran

手引きが <URL:http://www.softek.co.jp/SPG/download/PGI/current/install64.html> にあるのでこれを参照する.

  • 事前準備 以下のパッケージをインストールしておく

    # apt-get install gcc-multilib g++multilib gfortran-multilib
  • PGI アカウントのアクティベート

    購入するとメールで案内が来るので, それに従ってアカウントをアクティベートする.

  • ダウンロード
  • インストール

    # export LANG=C
    # mkdir pgi
    # cd pgi
    # tar zxvf pgilinux-12.3.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
    
    Installation directory? [/opt/pgi] /work00/pgi
    (注: インストール先は計算ノードと共有するディレクトリにしておく.
    ((<URL:http://www.softek.co.jp/SPG/Pgi/FAQ/faq2.html#010>)) 参照)
    
    Install the ACML? (y/n) y
    ...
    (ACML ライセンス情報が表示される)
    ...
    Do you accept these terms? (accept,decline) accept
    This PGI version links with ACML 4.4.0 by default.  Also available:
    (1) ACML 4.4.0
    (2) ACML 5.1.0
    (3) ACML 5.1.0 using FMA4
    Enter another value to override the default (1) 
    Install CUDA Toolkit Components? (y/n) n
    Install OpenACC compilers? (y/n) n
    Install JAVA JRE 6.0_21? [yes] yes
    ...
    (JAVA のライセンス情報が表示される)
    ...
    Do you accept these terms? (accept,decline) accept
    Do you wish to update/create links in the 2012 directory? (y/n) y
    Remote execution method? (rsh,ssh) ssh
    Do you wish to generate license keys? (y/n) n
    (注: ここではライセンスキーの設定は行わない)
    Do you want the files in the install directory to be read-only? (y/n) n
  • ライセンスを取得する (<URL:http://www.softek.co.jp/SPG/Pgi/keyissue.html>)
    • 途中で, 「ホスト名」と「FLEXlm hostid」が必要であるので, 先にソフトウェアを入れておくと良い. /work00/pgi/license.info を参照.
      • hostid は, NIC のハードウェアアドレス
  • ライセンスを /work00/pgi/license.dat に置く.
  • ライセンスサーバ起動

    # /work00/pgi/linux86/12.3/bin/pgi_license_tool
    If this computer is behind a firewall at your site, please make sure it can
    access the Internet.
    
    1  Generate a license key for this computer
    2  Configure and start a license server on this computer
    3  All of the above
    4  I'm not sure (quit now and re-run this script later,)
    
    What do you want to do? 2
    
    Please enter the location of the license key file.
    /work00/pgi/license.dat
    
    Should license services start when the system boots? (y/n) y
    Master daemon (lmgrd) is not running
    Vendor daemon (pgroud) is not running
    
    The PGI license tool can be re-started by running the script located at
    /work00/pgi/linux86/12.3/bin/pgi_license_tool.
    
    The license key file is located at /work00/pgi/license.dat
  • 起動しなかったので以下の修正を行う
    • 起動スクリプト /etc/init.d/lmgrd を以下のように修正

      ### BEGIN INIT INFO
      ...
      # Default-Start:  2 3 4 5 (デフォルトは 3 5)
      # Default-Stop:  0 1 6 (デフォルトでは記載なし)
      ...
    • 以下のコマンドを実行

      # rm /etc/rc3.d/S01lmgrd
      # rm /etc/rc5.d/S01lmgrd
      # update-rc.d lmgrd start 90 2 3 4 5 stop 10 0 1 6
    • FAQ <URL:http://www.softek.co.jp/SPG/Pgi/FAQ/faq3.html#024>を参考に lsb-core パッケージを追加

      # apt-get install lsb-core
  • ライセンスサーバ起動テスト

    # /etc/init.d/lmgrd start

    成功すると /opt/pgi/flexlm.log にログが残り, ps コマンドでプロセスが確認できる.

    # ps ax | grep lmgrd
    root     18361  0.0  0.0  16620  1396 pts/2    S    17:34   0:00 /work00/pgi/linux86-64/12.3/bin/lmgrd -c /work00/pgi/license.dat
    root     18362  1.2  0.0  35164  2336 ?        Ssl  17:34   0:00 pgroupd -T hikari.ep.sci.hokudai.ac.jp 11.10 3 -c /work00/pgi/license.dat --lmgrd_start 515be9a8
    root     18442  0.0  0.0   7400   876 pts/2    S+   17:34   0:00 grep lmgrd
  • 環境設定

    export PGI=/work00/pgi
    export PATH=$PGI/linux86-64/2012/bin:$PATH
    export PATH=$PGI/linux86/2012/mpi/mpich/bin:$PATH
    export MANPATH=$MANPATH:$PGI/linux86-64/2012/man
    export LM_LICENSE_FILE=$PGI/license.dat
  • 動作試験 (1)

    -dryrun -V オプションで実行, 以下のようなメッセージが表示されれば成功.

    $ pgf90 -dryrun -V
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/.pgf90rc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/nativerc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/fnativerc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/x86rc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/x8664rc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/lin86rc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/lin8664rc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/iparc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/pgf90rc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/pgftnrc
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/acc1rc
    Skipping accrc (not found)
    Reading rcfile /opt/pgi/linux86-64/12.4/bin/localrc
    Skipping localrc.dennou-h (not found)
    Skipping siterc (not found)
    Skipping siterc.dennou-h (not found)
    Skipping .mypgirc (not found)
    Skipping .mypgf90rc (not found)
    
    pgf90 12.4-0 64-bit target on x86-64 Linux -tp penryn
    Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
    Copyright 2000-2012, STMicroelectronics, Inc.  All Rights Reserved.