TSUBAME3.0計算サービスのWebページはこちら

TSUBAME2.5からTSUBAME3.0へのデータ移行方法の資料はこちら

PGIコンパイラでGPU用fortranプログラムをコンパイルしたいのですが。?

PGIのコンパイラはGPU用プログラムをコンパイルすることができます。
利用方法は以下の二通りあります。

1.指示行べースの利用
  通常のfortranで記述されたプログラムに指示行を付加することによりGPU用のプログラムとして動作するようにコンパイルできます。

 例
    !$acc region
          DO k=1,100
             DO J = 1,600
                DO I = 1,5000
                   c(j,i) = c(j,i) + A(I,J) * B(J,I)
                ENDDO
             ENDDO
          ENDDO
    !$acc end region

 GPU対象部分を上記のように指示行ではさみます。

 > pgf95 -Minfo=all -fastsse -o tesla  -ta=nvidia cuda.f wclock.c
     -ta=nvidia のオプションを付加してコンパイルしてください。

  【注意】
   a) cudaのバージョンを指定することができます。
       -ta=nvidia,cuda3.0 など 
       指定できるバージョンはコンパイラのバージョンにより異なります。
   b) -mcmodel=medium との共存はできません。

2.cuda-fortranによる利用
  cuda互換形式で記述されたプログラムをコンパイルすることができます。

 例
    module mmul_mod
        use cudafor
        contains
        attributes(global) subroutine mmul_kernel( A, B, C, N, M, L )
           real,device :: A(N,M), B(M,L), C(N,L)
           integer, value :: N, M, L
           integer :: i, j, kb, k, tx, ty
           real, shared :: Asub(16,16), Bsub(16,16)
      :
  このように記述されたプログラムをコンパイルします。
  ※ プログラミングについては以下を参照ください。
      GPUコンピューティング研究会
      http://gpu-computing.gsic.titech.ac.jp/node/62

 > pgfortran -Mcuda cudam.cuf
    -Mcuda のオプションを付加してコンパイルしてください。

  【注意】
  a) cudaのバージョンを指定することができます。
        -Mcuda=ptxinfo,cuda3.2 など 
     指定できるバージョンはコンパイラのバージョンにより異なります。
     "ptxinfo" はcuda部分の最適化履歴を出力します。
  b) -mcmodel=medium と共存できます。

【重要】 コンパイラについて
   pgfortran が Fortran-2003 対応コンパイラーで、通常はこれをお使いください。
   pgf95 と pgf77 は、何らかの理由で古いコンパイラーとの互換性が必要な場合にお使いください。
※mpif90のコマンドはpgf95ですが、pgfotranと同様にご利用いただけます。

バージョンにより若干の制約などもありますので、利用の手引きの参照をお願いします。
http://tsubame.gsic.titech.ac.jp/docs/guides/tsubame2/html/programming.h...