PGI 2010 コンパイラ インストール
GPU用アクセラレータ
PGI 2010バージョンにおける、PGIアクセラレータ™ コンパイラのインストールに関して説明します。なお、アクセラレータ機能を使用するためには、NVIDIA CUDA 環境(ドライバーとToolkit)がシステムに実装されている必要があります。PGI 2010 リリースから、必要となる CUDA ライブラリ(Toolkitの一部)は、PGIソフトウェアに同梱されておりますので、PGIコンパイラのみの使用用途では CUDAドライバーのみの実装を前以て行っておく必要があります。
2009年12月22日 Copyright © 株式会社ソフテック 加藤
2009年11月に発売した PGIアクセラレータ™ コンパイラは、従来の x64 プロセッサ・マルチコア最適化用 PGI コンパイラ機能と GPU 用コンパイラとしてのアクセラレータ機能、CUDA Fortran 機能が全て含まれております。また、2009年11月以降、GPUアクセラレータ機能がない従来の PGI コンパイラ製品も併売されております。但し、ダウンロードするソフトウェアは、「x64プロセッサ用の PGI コンパイラ」と「PGIアクセラレータ™ コンパイラ」と区別されたものではなく、一つの共用の PGI ソフトウェアのファイルを使用してインストールしていただきます。「従来の x64 プロセッサのみのコンパイラ製品」と「新 PGIアクセラレータ™ コンパイラ」は、購入いただいたライセンス製品のライセンスキーで、その使用範囲が区別されます。従って、PGIコンパイラのインストール方法は、各OSプラットフォームで、従来と同じ方法で行っていただきます。
弊社から、製品をご購入頂いたお客様には、「インストール・マニュアル、ライセンス発行手引書」等の日本語ドキュメントを送付しますので、これを参照の上、PGIソフトウェアをインストールして下さい。また、弊社の「弊社お客様専用のサポートページ」にても、各種ドキュメントをご覧いただけます。
NVIDIA CUDAソフトウェア環境の構築
NVIDIA CUDA ソフトウェア環境の設定は、以下のページにて説明しています。
CUDA™ 開発環境をインストールする (Linux版)
PGI 2010 コンパイラソフトウェアの入手
PGIコンパイラソフトウェアは、以下のページより pgilinux-100.tar.gz ダウンロードして下さい。
http://www.softek.co.jp/SPG/ftp.html
PGIコンパイラソフトウェアのインストール
PGIコンパイラソフトウェアは、弊社発行のインストールドキュメント等を参照いただき、インストールしていただきます。なお、インストール後、PGIライセンスキーの取得と設置並びにlmgrd ライセンスマネージャーのセットアップとその起動を行ってください。「評価版ライセンス」を使用する場合は、「試用版ライセンス取得の方法」のページをご参照の上、評価ライセンスキーの取得とそのセットアップをお願い致します。なおインストールするPGIソフトウェアは、正規版のソフトウェアと同じものです。この作業で、インストールは全て終了です。
PGIコンパイラ用の環境変数の設定
PGIコンパイラを使用するためには、ユーザ環境での環境変数の設定が必要です。以下の FAQ をご参照下さい。
(FAQ) PGI Linux / Mac OS 用の bash または、csh 環境において環境変数の設定の方法を教えてください
pgaccelinfo コマンドの実行
PGIが提供するGPUボードの情報を表示するコマンド pgaccelinfo を実行してみます。ここでの例示システムは、GPUボードが2枚実装されているため、以下のような GPU 0、GPU 1 のハードウェア情報が表示されます。以下の例は、システム上に、GeForce GTX 285が0番デバイスとして見つかり、また、、GeForce GTX 280が1番デバイスとして認識されていることが分かります。また、deviceのリビジョンが 1.3 であること、デバイスメモリが 1GB 有し、30個のマルチプロセッサを搭載していることを示しています。また、この情報ボードには、その他のメモリ容量、レジスタ容量、スレッド数に関する制限値等の情報も含まれています。
[kato@photon29 ~]$ pgaccelinfo Device Number: 0 Device Name: GeForce GTX 285 Device Revision Number: 1.3 Global Memory Size: 1073020928 Number of Multiprocessors: 30 Number of Cores: 240 Concurrent Copy and Execution: Yes Total Constant Memory: 65536 Total Shared Memory per Block: 16384 Registers per Block: 16384 Warp Size: 32 Maximum Threads per Block: 512 Maximum Block Dimensions: 512 x 512 x 64 Maximum Grid Dimensions: 65535 x 65535 x 1 Maximum Memory Pitch: 262144B Texture Alignment 256B Clock Rate: 1476 MHz Initialization time: 31535 microseconds Current free memory 1014923264 Upload time (4MB) 888 microseconds ( 708 ms pinned) Download time 1304 microseconds ( 724 ms pinned) Upload bandwidth 4723 MB/sec (5924 MB/sec pinned) Download bandwidth 3216 MB/sec (5793 MB/sec pinned) Device Number: 1 Device Name: GeForce GTX 280 Device Revision Number: 1.3 Global Memory Size: 1073479680 Number of Multiprocessors: 30 Number of Cores: 240 Concurrent Copy and Execution: Yes Total Constant Memory: 65536 Total Shared Memory per Block: 16384 Registers per Block: 16384 Warp Size: 32 Maximum Threads per Block: 512 Maximum Block Dimensions: 512 x 512 x 64 Maximum Grid Dimensions: 65535 x 65535 x 1 Maximum Memory Pitch: 262144B Texture Alignment 256B Clock Rate: 1296 MHz Initialization time: 31535 microseconds Current free memory 1023872768 Upload time (4MB) 904 microseconds ( 711 ms pinned) Download time 1204 microseconds ( 728 ms pinned) Upload bandwidth 4639 MB/sec (5899 MB/sec pinned) Download bandwidth 3483 MB/sec (5761 MB/sec pinned)
一方、上記コマンドを実行しても、以下のようなメッセージの場合は、適切なハードウェアあるいはボードがインストールされていないか、あるいは、/dev/nvidiactlt 等のデバイスファイルがオープンされていないことが考えられます。この場合の対処については、こちらの FAQ 記事をご覧下さい
[kato@photon28 dev]$ pgaccelinfo No accelerators found. Try pgaccelinfo -v for more information
上記の GPU ボードの情報の中で、deviceのリビジョンが 1.1 あるいは、1.0 の場合は、コンパイラの初期設定ファイルが置かれている、/opt/pgi/linux86-64/{version番号}/bin/sitenvrc ファイルの中に、以下の行を追加設定します。
set COMPUTECAP=11; あるいは、 set COMPUTECAP=10;
以上で、PGIコンパイラの設定が終了します。