NGC(NVIDIA GPU Cloud)にPGI CompilerのCommunity Editionのコンテナがあった。

NGCは、Pascal世代以降のGPUしかサポートしていない、と理解していたので、登録されているコンテナを使うことは諦めていた。

このPGI Compilerのコンテナは、Kepler世代以降とあったので、自分のGPU環境にも合致しているので、試しに使ってみる。

 

(1)NGCアカウントを取得する。

このログインページから新規アカウントを作成する。

・NVIDIAからのメールでログインする。
 パスワード入力が求められるので、パスワードを設定する。
・Generate API KeyでAPIキーを取得する。
 ログインして、CONFIGURATION → Setup → GeneratAPI Keyの[Get API Key]
・Setup > API Key画面の右肩の「Generate API Key」をクリックすると、

 API Key(英数字文字列が1行程度)が表示されるので、メモ(コピペ)しておく。

 

(2)ログインするためにAPI Keyを登録する。

・コピペしたAPI KeyをPasswordにして、次のUsernameでログインする。
 $ sudo docker login nvcr.io
 Username: $oauthtoken
 Password: (API Keyをペースト)
 ・・・(略)・・・
 Login Succeeded

 $

 

(3)PGI CompilerイメージのPull/起動

・ホストマシンのディレクトリ(/home/xxxx/workspace)をコンテナ内(/workspace)で使うため、-vオプションを使って次のように起動する。

 $ sudo docker run --runtime=nvidia  -it --rm -v /home/xxxx/workspace:/workspace nvcr.io/hpc/pgi-compilers:ce

 ・・・(略)・・・

 #

 

(4)PGI関連コマンドを使って、GPUの情報を表示する。

 pgaccelinfoコマンドの実行結果。

上記は、この記事で記述したように、GTX Titanを使うように-e NVIDIA_VISIBLE_DEVICES=0を指定して起動した結果。

 

※ 今回は、NGCに登録されているPGI CompilerのDockerイメージが自分の環境(Kepler世代GPUで)使えることまで検証。

※ Open ACCを使う(ディレクティブを入れる)のは、また別記事にて。