GNUコンパイラ

バージョン システムA システムB システムC 備考
9.2.0 + (default) 2020年3月導入
8.2.0 + 2019年3月導入
8.1.0 + + 2019年10月導入
7.3.0 + 2018年3月導入
7.2.0 + 2018年3月導入
7.1.0 + 2018年3月導入
6.3.0 + 2017年3月導入
6.2.0 + 2016年12月導入
6.1.0 + + + 2016年10月導入
5.3.0 + 2016年4月導入
4.9.3 +
4.8.5 + (default) + (default)

+ : すべてのユーザが利用可能
― : 利用不可

バージョン moduleファイル名
9.2.0 gcc/9.2.0
8.2.0 gcc/8.2.0
8.1.0 gcc/8.1.0
10.3.0 gcc/7.3.0
11.2.0 gcc/7.2.0
12.1.0 gcc/7.1.0
13.3.0 gcc/6.3.0
14.2.0 gcc/6.2.0
15.1.0 gcc/6.1.0
16.3.0 gcc/5.3.0
17.9.3 gcc/4.9.3
18.8.5 gcc/4.8.5

システムにログインした時点では,システムAではCrayコンパイラが,システムB,CではIntelコンパイラがデフォルトで利用できるようになっています.以下のようにmoduleコマンドを実行し,コンパイラを切り替えてください.コンパイラのバージョンは,上表に記載のデフォルトのバージョンが設定されます.

(システムA)
$ module switch PrgEnv-cray PrgEnv-gnu
(システムB,C)
$ module switch PrgEnv-intel PrgEnv-gnu

GNUコンパイラのバージョンを切り替えたい場合は,PrgEnv-gnu がロードされている状態で,以下のようにmoduleコマンドを実行してください.

$ module switch gcc/4.8.2 gcc/4.6.2

ログイン時に自動で環境設定を行いたい場合は,ログインシェルの起動ファイルに必要なmoduleコマンドを記述してください.詳細は 環境設定 をご覧ください.
moduleコマンドの詳細は Modules をご覧ください.

  • システムA

    言語 コマンド 実行形式
    Fortran ftn ftn [オプションの並び] ファイル名の並び
    C cc cc [オプションの並び] ファイル名の並び
    C++ CC CC [オプションの並び] ファイル名の並び
  • システムB,C

    言語 コマンド 実行形式
    Fortran gfortran gfortran [オプションの並び] ファイル名の並び
    C gcc gcc [オプションの並び] ファイル名の並び
    C++ g++ g++ [オプションの並び] ファイル名の並び

  • 主要オプション(並列化,最適化など)

    オプション名 説明
    -o FILENAME オブジェクトファイルの名前を指定します.
    -mcmodel=medium -fpic -dynamic システムAで2Gbyteを超えるメモリをサポートします.
    -mcmodel=medium システムB,Cで2Gbyteを超えるメモリをサポートします.
    -fopenmp OpenMP指示子を有効にしてコンパイルします.
    -O0/-O1/-O2/-O3 最適化のレベルを指定します(デフォルトは0).
  • メッセージ出力とデバッグのオプション

    オプション名 説明
    -Wall すべての警告メッセージを表示します.
  • Fortran言語固有オプション

    オプション名 説明
    -ffree-form プログラムが自由形式で記述されていることを指示します.
    -pedantic Fortran標準外機能の利用を警告します.
    -fimplicit-none 暗黙の型宣言を警告します.

$ ftn test.f90    # Fortranの例
$ cc test.c       # C言語の例
$ CC test.cpp     # C++の例
$ tssrun ./a.out    # 実行

$ gfortran test.f90    # Fortranの例
$ gcc test.c           # C言語の例
$ g++ test.cpp         # C++の例
$ tssrun ./a.out       # 実行

OpenMPは,プログラムの並列化のためのオープン規格です. ソースコードに#pragma ompで始まる指示を書き込み,所定のオプションをつけてコンパイルするだけで,コンパイラに自動で並列化を行わせることができます.

OpenMPへの指示を書き込んだソースコードをコンパイルするには,-fopenmpオプションをつけます.

$ gcc -fopenmp test.c

コンパイルしたプログラムを実行する時,-Aオプションでtとcに並列数を指定すると,その並列数でプログラムが実行されます.

$ tssrun -A p=1:t=8:c=8 ./a.out # 並列数8を指定して実行

システム ライブラリ
A Cray MPIライブラリ
B,C Openmpiライブラリ
  • システムAではCray MPIライブラリが利用できます.MPIプログラムのコンパイル,リンク,実行方法については, Cray MPIライブラリ をご覧ください.
  • システムB,CではOpenMPIライブラリが利用できます.MPIプログラムのコンパイル,リンク,実行方法については, OpenMPIライブラリ をご覧ください.

GNUコンパイラを利用する場合,以下の数値計算ライブラリを利用できます.各ライブラリの利用方法については,個別のページをご覧ください.

ライブラリ システムA システムB,C
Cray LibSciライブラリ + +

+ : すべてのユーザが利用可能
― : 利用不可


Copyright © Academic Center for Computing and Media Studies, Kyoto University, All Rights Reserved.