2016-10-24 14 views
1

OpenAccを使用してFortranでコードをコンパイルしようとしています。これまで私はOpenMPをサポートするインテルFortranを使用していましたが、明らかにOpenAccをサポートしていません。誰でもOpenAccをサポートする無料のコンパイラを提案できますか?OpenAccインテルFortranコンパイラ

私が実行しようとしています正確なコードがthisリンクで見つけることができますが、私は便宜上、同様の下に貼り付けています:

program rbc 
use omp_lib  ! For timing 
implicit none 
real, parameter :: beta = 0.984, eta = 2, alpha = 0.35, delta = 0.01, & 
     rho = 0.95, sigma = 0.005, zmin=-0.0480384, zmax=0.0480384; 
integer, parameter :: nz = 4, nk=4800; 
real :: zgrid(nz), kgrid(nk), t_tran_z(nz,nz), tran_z(nz,nz); 
real :: kmax, kmin, tol, dif, c(nk), r(nk), w(nk); 
real, dimension(nz,nk) :: v=0., v0=0., ev=0., c0=0.; 
integer :: i, iz, ik, cnt; 
logical :: ind(nk); 
real(kind=8) :: start, finish ! For timing 
real :: tmpmax, c1 

    !$acc region 
    !$acc do parallel 
    do ik = 1,nk; 
     !$acc do parallel 
     do iz=1,nz;   
      tmpmax = -huge(0.) 
      do i = 1,nk 
      c1 = c0(ik,iz) - kgrid(i) 
      if(c1<0) exit 
      c1 = c1**(1-eta)/(1-eta)+ev(i,iz) 
      if(tmpmax<c1) tmpmax = c1 
      end do 
      v(ik,iz) = tmpmax 
     end do 
    end do 
    !$acc end region 
+0

[gfortran](https://gcc.gnu.org/onlinedocs/gfortran/OpenACC.html)について教えてください。 –

+0

私はそれを調べましたが、私はWindowsの運用システムにインストールできるかどうか混乱しました。もしそうなら、インストーラを見つける場所とOpenAccを認識する方法を教えてください。 – phdstudent

+0

「gfortran for windows」を検索したところ、ウィンドウにインストールするバイナリを提供する[link](https://gcc.gnu.org/wiki/GFortranBinaries)が見つかりました。注意OpenACCのサポートはv5.1で初めて導入されました。したがって、適切に新しいバージョンを取得する必要があります(また、v6はより優れた実装になるはずです)。また、関連するサポートライブラリへの追加設定が必要な場合もあります。 –

答えて

2

今OpenACCのための唯一の無料のコンパイラの選択はGNUですが、それはまだ不完全です。私はあなたがOpenUHやOpenARCのようなリサーチコンパイラの一つかもしれないと思っていますが、それらがどれほど実稼働環境にあるか分かりません。あなたが大学に所属していれば、PGIの1年間の無料ライセンス(更新可能)を得ることができます。あなたがいない場合でも、あなたが必要とするものがあるかどうかを確認するために無料の試用版を入手することができます。

3

PGI Community Editionは、OpenACC、OpenMP、Linux/x86、Linux/OpenPOWER、およびmacOS用のCUDA Fortranを含むPGI Fortran、C、およびC++コンパイラおよびツールの無償リリースです。ここをクリックhttp://www.pgroup.com/products/community.htm

関連する問題