2016-10-24 2 views
1

OpenAcc를 사용하여 Fortran에서 코드를 컴파일하려고합니다. 지금까지 OpenMP를 지원하는 인텔 포트란을 사용했지만 분명히 OpenAcc를 지원하지 않습니다. 누구든지 OpenAcc를 지원하는 무료 컴파일러를 제안 할 수 있습니까?OpenAcc 인텔 포트란 컴파일러

내가 실행하려고하고 정확한 코드는 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"을 (를) 검색하고 Windows에 설치할 바이너리를 제공하는 다음 [링크] (https://gcc.gnu.org/wiki/GFortranBinaries)를 찾았습니다. 참고 OpenACC 지원은 v5.1에서 처음 소개되었으므로 적절하게 새 버전을 제공해야합니다 (그리고 v6은 훨씬 더 나은 구현이되어야 함). 또한 관련 지원 라이브러리에 대한 추가 설정이 필요할 수 있습니다. –

답변

2

는 지금 OpenACC을위한 유일한 무료 컴파일러 선택은 GNU이지만, 그 지원은 아직 불완전합니다. OpenUH 나 OpenARC와 같은 연구 컴파일러 중 하나 일 수 있다고 가정합니다. 그러나 이들이 프로덕션 환경에 얼마나 유용한 지 잘 모르겠습니다. 대학에 소속되어있는 경우, PGI에 1 년 무료 라이센스 (재생 가능)를 제공 할 수 있습니다. 그렇지 않은 경우에도 무료 평가판을 사용하여 필요한 것을 수행하는지 확인할 수 있습니다.

관련 문제