以前の記事までで、Singularityをインストールできたので、PGIコンパイラーコミュニティ版のイメージを作成する。

 

(0)GPUボードを交換

この記事で書いたとおり、このサーバに搭載していたQuadro 4000では、最新のドライバーが使えず、これため使用するCUDAのバージョンも9.0となってします。

こちらのサーバと同じCUDAバージョンを使うため、最新のドライバーが使える、Quadro K2000をヤフオクから購入。

・インストールしていたnvidia-driver-390を削除して、最新の440をインストールする。

$ sudo apt remove --purge nvidia-driver-390

$ sudo apt install nvidia-driver-440

※これで、最新のcudaバージョンのDockerイメージ(nvidia/cuda:latest)が使える。

→ Dockerfile:FROM nvidia/cuda:latest

 

(1)PGIコミュニティ版

このページから、最新版のPGIコミュニティエディション(pgilinux-2019-1910-x86-64.tar.gz)をダウンロードする。

→ Dockerfile:ADD ./pgilinux-2019-1910-x86-64.tar.gz /tmp

 

(2)Dockerfile

このページ(hopobcn/pgi-ce)を参考にしてDockerfileを作った。

 上記の「→ Dockerfile:」も参考。特にADDの「./pgi・・・」の部分は要注意!

・Dockerイメージを作成

$ sudo docker build -t pgi-ce .

 

(3)Singularityイメージを作成

・上記で作成されたDockerイメージを指定するため、docker-daemon:を付ける。
$ sudo singularity build sifs/pgi-ce.sif docker-daemon://pgi-ce:latest

※あけんじの環境では、SIFファイルをsifsディレクトリ配下に格納している。

 

(4)Singularityで起動

$ singularity shell --nv sifs/pgi-ce.sif
Singularity pgi-ce.sif:~>