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
をロードしてください。