Compilation †
STATEはf90で書かれておりMPIを用いて並列化されています。最新バージョンではOpenMPを用いたハイブリッド並列化も行われています。
コンパイルにはfortran90コンパイラとMPIが必要です。
以下のプラットフォーム上で動作が確認されています。
- NEC SX-5、SX-7、Earth Simulator (SX-6)、SX-8、SX-9
- Hitach SR8000、SR11000 (ISSP)
- Intel Pentium4、Itanium2、XEON(5100,5500,5600)、COREi7
- AMD Opteron
バージョンによりコンパイルの方法(Makefile)が異なるので注意が必要です。
- コンパイラ
- ifort -lmpi, mpiifort, mpif90, mpisxf90,・・・・
- ライブラリ
- MKL,LAPACK+FFTW3,Scalapack,ASL・・・
- スイッチ
- _SX_ASLFFT_ NECのASLライブラリ中FFTを使う(粗メッシュ)※稲垣
- _SX_FFT_ NECのASLライブラリ中FFTを使う(密メッシュ)※稲垣
- _SX9_ NECのSX9を使う(主記憶アクセスが遅いので高速化)※稲垣
- __IBM ?
- _ACML_ ACMLライブラリを使う場合(AMDプロセッサ)(?)
- _DEBUG_LDAU_ ?
- _FFTW3_ FFTW3ライブラリを使う場合(MKLの場合を含む)
- _GATH_SCAT_ ?
- _M64_V8_ ?
- _MetaGGA_ ?
- _ORTHOGONAL_ ?
- _PATIENT_ ?
- _PC_CLUSTER_ スカラー計算機を使う場合(アンローリング似ている場合が多い)
- _PZFFT_ PZFFTを使う
- _SCALAPACK_ SCALAPACKを使う
- _SR_FFT_ 日立スパコンSRシリーズのFFTライブラリを使う(?)
- _SR_LIB_ 日立スパコンSRシリーズのライブラリを使う(?)
- _SR11K_ 日立スパコンSR11000を使う(?)
- _SX_LIB_ NECのASLライブラリを使う
- _SXFTRACE_ NECのSXでFTRACEで時間計測(?)
- _T3E_ ?
- _TEST_MODE_ テストモード(SCFや固有値問題の繰り返し計算の回数を制御)(?)
- _TESTD_ ?
- _TIME_ ?
- _TIMER_ ルーチンの実行時間計測機能を使う。出力ファイルの最後にリストされる。
- _TIMER_DEBUG_ ?
- _VECTOR_ ベクトル計算機でベクトル化処理を使う
- _VPP_ 富士通VPPを使う(?)