ソフテック・トップページへ
ホーム 製品 セキュリティ・サービス HPCサービス ダウンロード 企業情報

PGI compiler TIPS
PGI Server ライセンス使用時の実行環境設定
技術情報・TIPS > PGI Server ライセンス製品実行環境

 全てのコンパイル・オプション

PGI Serverライセンス: 32bit、64bit マシン混在時の実行環境の設定例

PGI Server ライセンス製品は、同一ネットワークの任意のマシン上にコンパイラをインストールしてご利用になれます。ここでは、その際の実行環境の設定の一例を説明します。
ここで説明する前提は、PGI Server 32bit/64bit 共用製品をお使いの上で

  1. 64bit マシンと 32bit マシンが混在している。各マシン上では、/home 領域が NFS で共有されている。各マシン個別に、PGI コンパイラを /usr/pgi 配下にインストールしている。
  2. 64bit マシンと 32bit マシンが混在している。各マシン上では、/home 領域が NFS で共有されている。 また、NFS により、全システムで利用可能な /export (一例)がマウントされており、この上に PGI コンパイラを インストールした。但し、64bit マシンと 32bit マシン共に、同じ Linux distribution のバージョンが インストールされている。


の二つの例について、その実行環境の設定例を説明します。

  ヽ謄泪轡鵑妨鎚未 PGI コンパイラをインストールする場合(推奨)


各マシンに PGI コンパイラが、全て同じ /usr/pgi 配下にインストールされているため、PGI 環境変数として設定する環境変数(PATH 等)は同一の設定が可能となります。また、各マシン上に、実行時に必要な PGI のdynamic library が備えられていますので、適切な PATH が設定されていれば、実行モジュールは動作します。ユーザレベルで行うことは、32bit 並びに64bitマシンの混在環境において、各マシンへのログイン時にマシン・アーキテクチャを判断し、それに適合するコンパイラ(32bit 用か、64bit 用)を使用できるようにすることです。これは、PGI 環境変数の設定の変更で実現できます。具体的には、ユーザの .bashrc 等で制御するため、以下に示す .bashrc のプロトタイプを配布し各ユーザに設定してもらうか、あるいは、システム側で /etc/bashrc 等でセットすることで実現します。

● ログイン時に設定する .bashrc スクリプトの一例

---- Machine architecture check ---------------

case "`arch`" in
x86_64 )   target=linux86-64 ;;
* )        target=linux86 ;;
esac
echo "Machine target = $target"

# ---- PGI license/Path setting -----------------
if [ $target = "linux86-64" ]
then
   export PGI=/usr/pgi
   export PATH=$PGI/linux86-64/2014/bin:$PATH
   export MANPATH=$MANPATH:$PGI/linux86-64/2014/man
else
   export PGI=/usr/pgi
   export PATH=$PGI/linux86/2014/bin:$PATH
   export MANPATH=$MANPATH:$PGI/linux86/2014/man
fi
export LM_LICENSE_FILE=$PGI/license.dat

このスクリプトは、ログイン時にマシン・アーキテクチャを判断し、AMD64/EM64T Linux の場合は target 変数に linux86-64 をセットし、32bit Linux の場合は linux86 をセットします。その後、この変数値により、64bit 用のPGI 環境変数、あるいは 32bit 用の環境変数をセットします。なお、 32bit と 64bit での違いは、PATH の設定で、上記の太字の部分です。
PGI では、32bit 用のコンパイラ・ソフトウェアと 64bit コンパイラ・ソフトウェアの配置をディレクトリを分けて行っております。
 32bit 用 PGI コンパイラ・ソフトウェア : $PGI/linux86/{version}/***
 64bit 用 PGI コンパイラ・ソフトウェア : $PGI/linux86-64/{version}/***

● license.dat ファイルの設定

ライセンスファイルの設定に関しては、こちらのページをご覧ください

 ◆NFS領域に PGI コンパイラをインストールして共用する場合



PGI Server ライセンス製品のコンパイラを NFS 領域にインストールして使用する場合は、注意が必要です。各マシンの Linux Distribution のバージョンが異なるとシステムの glibc ライブラリのバージョンが異なるため、実行時に使用する PGI dynamic library のバージョンもその glibc に沿ったものを使用しなければなりません。これについては、こちらのページに参考情報を記しています。32bit マシン、64bit マシン共に同じ Linux のバージョンであれば、何の問題も生じませんが、もし、異なる場合は、それぞれのシステムにログインし、この下で直接 NFS 領域にPGI コンパイラを異なる場所にインストールする必要があります。上図の例では、32bit マシンの Linux バージョンが 64bit マシン上の Linux バージョンと異なる場合を想定して、NFS の領域にはそれぞれ異なる directory名 (/export/pgi64、/export/pgi32)でインストールしています。PGI コンパイラは、インストールするマシンの Linux バージョンに合致した PGI dynamic library を自動的に実装します。
もし、 32bit マシンも 64bit マシンも同じ Linux Distribution バージョンである場合は、32bit/64bit 共用コンパイラを64bit マシン上からインストールするだけで済みます。32bit マシン上で使用する際に 環境変数 PATH の設定を $PGI/linux86/6.1/** に設定するだけでよいことになります。
ユーザレベルで行うことは、32bit 並びに64bitマシンの混在環境において、各マシンへのログイン時にマシン・アーキテクチャを判断し、それに適合するコンパイラ(32bit 用か、64bit 用)を使用できるようにすることです。これは、PGI 環境変数の設定の変更で実現できます。具体的には、ユーザの .bashrc 等で制御するため、以下に示す .bashrc のプロトタイプを配布し各ユーザに設定してもらうか、あるいは、システム側で /etc/bashrc 等でセットすることで実現します。

● ログイン時に設定する .bashrc スクリプトの一例

---- Machine architecture check ---------------

case "`arch`" in
x86_64 )   target=linux86-64 ;;
* )        target=linux86 ;;
esac
echo "Machine target = $target"

# ---- PGI license/Path setting -----------------
if [ $target = "linux86-64" ]
then
   export PGI=/export/pgi64
   export PATH=$PGI/linux86-64/2014/bin:$PATH
   export MANPATH=$MANPATH:$PGI/linux86-64/2014/man
else
   export PGI=/export/pgi32
   export PATH=$PGI/linux86/2014/bin:$PATH
   export MANPATH=$MANPATH:$PGI/linux86/2014/man
fi
export LM_LICENSE_FILE=$PGI/license.dat

このスクリプトは、ログイン時にマシン・アーキテクチャを判断し、AMD64/EM64T Linux の場合は target 変数に linux86-64 をセットし、32bit Linux の場合は linux86 をセットします。その後、この変数値により、64bit用のPGI 環境変数、あるいは 32bit 用の環境変数をセットします。なお、 32bit と 64bit での違いは、PGI 変数(PGIソフトウェアをインストールしたトップディレクトリ)、PATH の設定で、上記の太字の部分です。なお、上記のスクリプトをさらに編集し、ホスト名で判別し個別の環境変数を設定するようすることもできます。このような設定によって、ネットワーク上に混在する様々なマシン上で PGI コンパイラを利用できるようになります。

● license.dat ファイルの設定

ライセンスファイルの設定に関しては、こちらのページをご覧ください


<< 戻る


 ソフテックは、PGI 製品の公認正規代理店です

サイトマップ お問合せ
Copyright (R) SofTek Systems Inc. All Rights Reserved.