menu

ログイン・コンパイル

ログイン

接続ホスト名: lmpcc

% ssh lmpcc -l <UserID>

環境設定

ログイン時にはデフォルトの開発環境(Intel+ HPE-MPT)が設定されています. 利用するコンパイラの変更やライブラリのリンクは必要なモジュールをロードして行います.

1. ロードされているモジュールの一覧表示

% module list

2. 利用可能なモジュールの確認

% module avail

3.モジュールのロード/アンロード

 % module load/unload  <module name>

4.モジュールの入れ替え

 % module swap  <module name before>  <module name after>

コンパイル

コンパイラ Fortran C C++ 実行コマンド例
GCC g77,gfortran cc g++  
Intel Compiler ifort icc icpc  
PGI Compiler pgf90 pgcc pgCC  

 

シリアルプログラム:
 % icc -O3 -o comp.exe comp.c

MPIプログラム:
 % icc -O3 -o comp.exe comp.c -lmpi

OpenMPプログラム:
 % icc -O3 -qopenmp -o comp.exe comp.c

MPI+OpenMPハイブリッド:
 % icc -O3 -qopenmp -o comp.exe comp.c -lmpi

コンパイルオプション(intelコンパイラ)

-mcmodel

特定のメモリモデルでコード生成とデータ格納を行うようコンパイラに指示します
(デフォルト:small)

使用例)icc -O3 -mcmodel=medium -shared-intel -o sample.exe sample.c

特定のメモリーモデルでコード生成とデータ格納を行うようコンパイラーに指示します。コードサイズとパフォーマンスに影響します。
プログラムにあるグローバルとスタティック・データが合計で 2GBよりも少ない場合、-mcmodel=small で十分です。

2GB を超えるグローバルとスタティック・データには、-mcmodel=medium または -mcmodel=large が必要です。2GB を超えるメモリー割り当ては、-mcmodel のどの設定でも行うことができます。

 

引数
smallコードとデータをアドレス空間の最初の 2GB までに制限するようコンパイラーに指示します。コードとデータのすべてのアクセスは、命令ポインター(IP) 相対アドレス指定で行われます。
mediumコードを最初の 2GB までに制限するようコンパイラーに指示します。データは制限されません。
コードは IP 相対アドレス指定でアクセスできますが、データのアクセスは絶対アドレス指定を使用する必要があります。
largeコードもデータも制限されません。コードもデータもアクセスは絶対アドレス指定を使用しなければなりません。

注意)-mcmodel=medium または -mcmodel=large を指定すると、 オプション -shared-intel が設定されます。