本ページでは、SQUIDの汎用CPUノード群でご利用いただけるライブラリについて記載します。
 
Intel MKL
HDF5
NetCDF
Parallel netcdf
FFTW
 

Intel Math Kernel Library (Intel MKL)

    Intel Math Kernel LibraryはIntel社が開発している数値演算ライブラリです。BLAS、LAPACK、 ScaLAPACK等を含む多様なライブラリの利用が可能です。本システムでは、BaseCPUモジュールで読み込まれる Intel社製コンパイラの環境で利用可能です。ご利用いただく前に、予めBaseCPU環境をロードしてください。

    module load BaseCPU

    以下に本システムでの、ライブラリのリンク例を記載します。
     

    シリアル実行でMKLをリンク

      $ module load BaseCPU
      $ icc -mkl=sequential sample.c # 動的リンク
      $ icc -mkl=sequential -static-intel sample.c # 静的リンク

       

    スレッド並列実行でMKLをリンク

      $ module load BaseCPU
      $ icc -mkl=parallel sample.c # 動的リンク
      $ icc -mkl=parallel -static-intel sample.o # 静的リンク

       

    MPI並列実行でMKLをリンク

      $ module load BaseCPU
      $ mpiicc -mkl=cluster sample.c # 動的リンク
      $ mpiicc -mkl=cluster -static-intel sample.c # 静的リンク

       

    Intel MKLの詳細な利用方法は、公式のオンラインドキュメントをご参照ください。
    Modul Intel Math Kernel Library – Documentation
     

HDF5

    HDF5は、大量データを階層的に構造化して格納することが可能なファイルを生成するためのライブラリです。計算環境毎に整備されています。このライブラリを利用するためには、コンパイル時に-lhdf5 のオプションを付与します。以下はライブラリのリンク例です。

    $ module load BaseCPU
    $ module load hdf5
    $ icc -o h5-sample h5-sample.c -lhdf5

 

NetCDF

    NetCDFは、科学的な多次元データを格納する目的で、共通データ形式として広く使われているバイナリファイルフォーマットが利用できるライブラリです。本システムでは、計算環境毎に、C言語/C++言語/FORTRAN言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lnetcdf等 のオプションを付与します。以下はライブラリのリンク例です。

    C言語

      $ module load BaseCPU
      $ module load netcdf-c
      $ icc -o ncdf-sample ncdf-sample.c -lnetcdf

    C++言語

      $ module load BaseCPU
      $ module load netcdf-cxx
      $ icpc -o ncdf-sample ncdf-sample.cpp -lnetcdf_c++4 -lnetcdf

    FORTRAN言語

      $ module load BaseCPU
      $ module load netcdf-fortran
      $ ifort -o ncdf-sample ncdf-sample.f90 -lnetcdff -lnetcdf

 

PnetCDF

    PnetCDFは、NetCDF形式のファイルに対して、並列プログラムから同時アクセスを行うためのライブラリです。本システムでは、計算環境毎に、C言語/C++言語/FORTRAN言語のそれぞれから利用できるように整備されています。ライブラリを利用するためには、コンパイル時に-lpnetcdf等 のオプションを付与します。以下はライブラリのリンク例です。

    C言語

      $ module load BaseCPU
      $ module load pnetcdf-c
      $ mpiicc -o pncdf-sample pncdf-sample.c -lpnetcdf

    C++言語

      $ module load BaseCPU
      $ module load pnetcdf-cxx
      $ mpiicpc -o pncdf-sample pncdf-sample.cpp -lpnetcdf

    FORTRAN言語

      $ module load BaseCPU
      $ module load pnetcdf-fortran
      $ mpiifort -o pncdf-sample pncdf-sample.f90 -lpnetcdf

 

FFTW

    $ module load BaseCPU
    $ module load fftw/3.3.10

    単精度、倍精度版両方にパスがとおります。-lオプションで使いたい方を選択ください。