2. 利用方法¶
運用終了
TSUBAME3 は既に運用を終了しています。 TSUBAME4 のマニュアル類はこちら
2.1. PGIコンパイラの実行¶
2.1.1. CPUプログラム¶
GPU非使用時のPGIコンパイラの使用方法を以下に示します。
モジュールを利用して、コンパイラの環境、パスを設定します。
$ module load pgi
PGIコンパイラのコマンド名、コマンド形式を以下に示します。
PGIコンパイラのコマンド名とコマンド形式
コマンド | 言語 | コマンド形式 |
---|---|---|
pgfortran | Fortran 77/90/95 | $ pgfortran [options] source_file |
pgcc | C | $ pgcc [options] source_file |
pgc++ | C++ | $ pgc++ [options] source_file |
2.1.2. CUDA・CUDA Fortran¶
GPU使用時のPGIコンパイラの使用方法を以下に示します。
モジュールを利用して、コンパイラの環境、パスを設定します。
module load cuda pgi
CUDA C、CUDA Fortranのコマンド名、コマンド形式を以下に示します。
CUDA Cのコマンド名とコマンド形式
コマンド | 言語 | コマンド形式 |
---|---|---|
nvcc | C | $ nvcc -gencode arch=compute_60,code=sm_60 [options] source_file |
CUDA Fortranのコマンド名とコマンド形式
コマンド | 言語 | コマンド形式 |
---|---|---|
pgfortran | Fortran 77/90/95 | $ pgfortran -Mcuda=cc60 [options] source_file |
2.1.3. OpenACC¶
PGIコンパイラを用いたOpenACCの使用方法を以下に示します。 モジュールを利用して、コンパイラの環境、パスを設定します。
$ module load cuda pgi
OpenACCのコマンド名、コマンド形式を以下に示します。
OpenACCのコマンド名とコマンド形式
コマンド | 言語 | コマンド形式 |
---|---|---|
pgfortran | Fortran 77/90/95 | $ pgfortran -acc -ta=tesla,cc60 [options] source_file |
pgcc | C | $ pgcc -acc -ta=tesla,cc60 [options] source_file |
pgc++ | C++ | $ pgc++ -acc -ta=tesla,cc60 [options] source_file |
OpenACCの主なオプションを以下に示します。
OpenACCの主なオプション
オプション | 説明 |
---|---|
-acc |
OpenACC指示文に基づきGPUコードを生成します。 |
-ta=tesla:cc60 |
ターゲットアーキテクチャを指定します。GPU P100用の実行バイナリを作成します。 |
-Minfo=accel |
OpenACCのコンパイラによる診断情報を出力します。 デフォルトではOpenACCの診断情報は出力されません。 |
2.2. GPU情報の取得¶
PGIコンパイラに含まれているpgaccelinfo
コマンドを用いて、シェアドメモリのサイズ、ウォープサイズ等のGPUの詳細情報を得ることができます。
以下に例を示します。
$ module load pgi
$ pgaccelinfo
CUDA Driver Version: 10000
NVRM version: NVIDIA UNIX x86_64 Kernel Module 410.79 Thu Nov 15 10:41:04 CST 2018
Device Number: 0
Device Name: Tesla P100-SXM2-16GB
Device Revision Number: 6.0
Global Memory Size: 17071734784
Number of Multiprocessors: 56
Concurrent Copy and Execution: Yes
Total Constant Memory: 65536
Total Shared Memory per Block: 49152
Registers per Block: 65536
Warp Size: 32
Maximum Threads per Block: 1024
Maximum Block Dimensions: 1024, 1024, 64
Maximum Grid Dimensions: 2147483647 x 65535 x 65535
Maximum Memory Pitch: 2147483647B
Texture Alignment: 512B
Clock Rate: 1480 MHz
Execution Timeout: No
Integrated Device: No
Can Map Host Memory: Yes
Compute Mode: default
Concurrent Kernels: Yes
ECC Enabled: Yes
Memory Clock Rate: 715 MHz
Memory Bus Width: 4096 bits
L2 Cache Size: 4194304 bytes
Max Threads Per SMP: 2048
Async Engines: 5
Unified Addressing: Yes
Managed Memory: Yes
Concurrent Managed Memory: Yes
Preemption Supported: Yes
Cooperative Launch: Yes
Multi-Device: Yes
PGI Default Target: -ta=tesla:cc60
...
ログインノードでpgaccelinfoを実行しても、ログインノードにはGPUが搭載されておりませんので何も表示されません。
qrshやqsubを用いて計算ノードで実行して下さい。
qrsh/qsubに関しましては、TSUBAME3.0利用の手引きをご参照下さい。
2.3. ライセンス使用状況の確認¶
PGIコンパイラのライセンス利用状況を以下のコマンドで確認できます。
$ module load pgi
$ lmutil lmstat -S pgroupd -c 27012@lice0:27012@remote:27012@t3ldap1