本システムではCPU、VectorEngine、GPGPUの各計算機に適したコンパイラを備えています。またスレッド並列、MPI並列による並列実行も可能です。
HPC用フロントエンド、HPDA用フロントエンド、汎用CPUノード、GPUノード、ベクトルノードで利用可能なコンパイラは以下の通りです。
| コンパイラ | 利用可能ホスト | ||||
|---|---|---|---|---|---|
| HPCフロントエンドノード | HPDAフロントエンドノード | 汎用CPUノード群 | ベクトルノード群 | GPUノード群 | |
| Intel Parallell Studio | 〇 | 〇 | 〇 | - | 〇 |
| NEC SDK for VE | 〇 | 〇 | - | 〇 | - |
| NVIDIA HPC SDK | 〇 | 〇 | 〇 | ※ | 〇 |
| GCC | 〇 | 〇 | 〇 | ※ | 〇 |
| XcalableMP (Omni Compiler) | 〇 | 〇 | 〇 | ※ | 〇 |
※ VE向けアプリケーションのコンパイルは、NEC SDK for VEをご利用ください。
MPI環境は、各コンパイラに対応したものが利用可能です。コンパイラ用のモジュールを読み込むことでMPI環境も併せて利用可能になります。
| MPIライブラリ | 利用可能ホスト | ||||
|---|---|---|---|---|---|
| HPCフロントエンドノード | HPDAフロントエンドノード | 汎用CPUノード群 | ベクトルノード群 | GPUノード群 | |
| Intel MPI | 〇 | 〇 | 〇 | - | 〇 |
| NEC MPI | 〇 | 〇 | - | 〇 | - |
| OpenMPI | 〇 | 〇 | 〇 | - | 〇 |
利用可能な言語環境は以下の通りです。
| 言語環境 | 利用可能ホスト | ||||
|---|---|---|---|---|---|
| HPCフロントエンドノード | HPDAフロントエンドノード | 汎用CPUノード群 | ベクトルノード群 | GPUノード群 | |
| Julia | 〇 | 〇 | 〇 | 〇 | 〇 |
| OpenJDK | 〇 | 〇 | 〇 | 〇 | 〇 |
| Python2 | 〇 | 〇 | 〇 | 〇 | 〇 |
| Python3 | 〇 | 〇 | 〇 | 〇 | 〇 |
| R | 〇 | 〇 | 〇 | 〇 | 〇 |
本システムでは、ベース環境として各種コンパイラやMPIの環境変数設定をまとめたものを用意しています。ベース環境の中には、計算環境毎にプログラム開発を行うための推奨環境も用意しています。
用意している推奨環境の構成は以下の通りです。
| 計算環境 | 推奨環境 モジュール名 | コンパイラ | MPI |
|---|---|---|---|
| 汎用CPUノード | BaseCPU | Intel Parallell Studio | Intel MPI |
| ベクトルノード | BaseVEC | NEC SDK for VE | NEC MPI |
| GPUノード | BaseGPU | NVIDIA HPC SDK CUDA |
Open MPI |
CPUノードの推奨環境を適用する場合、以下のようにモジュールをロードします。
|
1 2 3 4 5 6 7 8 9 10 11 |
$ module avail # 開発環境の一覧を表示します --------------------------------- /system/apps/env/base ------------------------------- BaseCPU(default) BaseVEC BaseGPU BaseGCC BasePy2 BasePy3 BaseApp $ module load BaseCPU # 汎用CPUノード群の推奨環境モジュールBaseCPUを読み込んでいます |
推奨環境の設定や各コンパイルコマンド、並列プログラムのコンパイル方法の詳細については以下をご参照ください。
- GPUノード群用コンパイラ:利用マニュアルの「4.4 GPUノード向けプログラムのコンパイル」をご参照ください。
- ベクトルノード群用コンパイラ:利用マニュアルの「4.3 ベクトルノード向けプログラム」をご参照ください。

