6.4. コンパイラ

コンパイラの概要#

本サービスにおいて標準で利用可能なコンパイラの情報を記述します。

コンパイラに関する注意事項

Development StudioはArmシステムのみで利用可能です。oneAPIとNVIDIA HPC SDKはx86システムとGPUシステムで利用できます。

利用方法#

コンパイラを利用する際は、moduleコマンドで利用環境を設定します。moduleコマンドを用いると、環境変数(コマンドやヘッダファイル、ライブラリのサーチパス)が自動で設定されます。

Development Studioを使用する場合は、以下のコマンドで利用環境を設定してください。

$ module load development-studio/1.2.39

Armシステム向けの推奨実行時オプション

Armシステムにおいて、1プロセスで13スレッド以上使用するジョブ(A64FXのCMG(Core Memory Group)間をまたいでスレッド実行するプログラム)を実行する場合、性能向上のため、以下の環境変数を設定することをご推奨します。環境変数の詳細につきましては、Technical Computing Suite オンラインマニュアル の「エンドユーザ向けガイド HPC拡張機能編」をご参照ください。
・ XOS_MMM_L_PAGING_POLICY=demand:demand:demand

oneAPIを使用する場合は、以下のコマンドで利用環境を設定してください。

$ module load compiler/2023.0.0

oneAPIロード時の留意事項

compiler/2023.0.0をロードすると、Intel oneapi compiler(icx, icpx, ifx)とIntel classic compiler(icc, icpc, ifort)の両方が使用可能となります。

x86システム向けの推奨翻訳オプション

x86システムのコンピュートノードで実行するロードモジュールを作成する際は、下記の翻訳オプションをご使用ください。
・ gcc: -march=icelake-server
・ oneAPI: -xCORE-AVX512

NVIDIA HPC SDKを使用する場合は、以下のコマンドで利用環境を設定してください。

$ module load nvhpc/23.5

NVIDIA HPC SDKロード時の留意事項

nvhpc/23.5をロードすると、nvcc, nvc++, nvfortran等が使用可能となります。nvccを使用する場合は、nvhpc/23.5をロードしてください。