【问题标题】:OpenAcc Intel Fortran Compiler [closed]OpenAcc 英特尔 Fortran 编译器 [关闭]
【发布时间】:2017-03-06 06:40:09
【问题描述】:

我正在尝试使用 OpenAcc 在 Fortran 中编译代码。到目前为止,我一直在使用支持 OpenMP 的 Intel fortran,但显然不支持 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

【问题讨论】:

  • gfortran怎么样
  • 我对此进行了调查,但我很困惑是否可以将其安装在 Windows 操作系统上。如果是这样,在哪里可以找到安装程序以及如何确保它能够识别 OpenAcc?
  • 我刚刚搜索了“gfortran for windows”并找到了以下link,它为您提供了要在 Windows 上安装的二进制文件。注意我认为 OpenACC 支持是在 v5.1 中首次引入的,因此您需要确保获得适当的新版本(并且 v6 应该是一个更好的实现)。您可能还需要对相关的支持库进行一些额外的设置。
  • 感谢您的回答。我会看看你提供的链接。关于如何设置相关库的任何想法?
  • 恐怕我不知道,希望安装程序能提供所需的一切。如果没有,您可以按照为OpenMP 提供的说明进行操作。

标签: fortran openacc


【解决方案1】:

PGI 社区版是 PGI Fortran、C 和 C++ 编译器和工具的免费版本,包括适用于 Linux/x86、Linux/OpenPOWER 和 macOS 的 OpenACC、OpenMP 和 CUDA Fortran。看这里http://www.pgroup.com/products/community.htm

【讨论】:

    【解决方案2】:

    目前 OpenACC 唯一的免费编译器选择是 GNU,但它的支持仍然不完整。我想您可以使用其中一种研究编译器,例如 OpenUH 或 OpenARC,但我不确定它们在生产环境中的用处。如果您隶属于大学,则可以免费获得 1 年的 PGI 许可证(可更新)。如果不是,您仍然可以免费试用,看看它是否满足您的需求。

    【讨论】:

      【解决方案3】:

      LLVM fortran 编译器 (Flang) 旨在支持 OpenACC。目前它们只支持简单的“hello-world”类型程序的 OpenACC 解析,但全面支持正在积极开发中。

      https://github.com/llvm/llvm-project/tree/master/flang/

      【讨论】:

        猜你喜欢
        • 2016-04-26
        • 1970-01-01
        • 2010-12-04
        • 1970-01-01
        • 1970-01-01
        • 2012-04-23
        • 1970-01-01
        • 2016-04-10
        • 2021-08-08
        相关资源
        最近更新 更多