-
5 votesanswersviews
在任何现有的OpenACC编译器中是否支持包含可分配数组的派生类型?
是否有任何OpenAcc编译器支持从GPU中复制包含可分配数组的派生类型及其在加速代码中的使用? OpenACC规范(v2.0)声明这是可能的,但我无法在任何地方找到它在编译器中实现 . PGI编译器支持派生类型,但似乎不包含可分配数组(见this page on the PGI forum) . 虽然这可能已经发生了变化,但它似乎并没有在任何地方公开(好) . -
3 votesanswersviews
COMPILER_OPTIONS()应该在Fortran中返回什么?
Fortran 2008添加了一个名为COMPILER_OPTIONS()的新过程,根据GNU documentation,该过程应该返回一个字符串,其中包含用于编译文件的选项 . 根据Fortran 2003 status wiki,几乎所有编译器(包括GNU和PGI)似乎都支持此功能 . 我创建了一个简单的程序 COMPILER_OPTIONS.f08 如下所示 use iso_fortran... -
0 votesanswersviews
Fortran-OpenACC例程如何调用另一个Fortran-OpenACC例程?
我目前正在尝试通过使用带有PGI(15.10)编译器的OpenACC将大多数例程移植到GPGPU来加速光谱元素流体求解器 . 源代码是用OO-Fortran编写的 . 该软件具有调用其他函数和子程序的子程序“层” . 为了使用openacc将代码转移到GPU,我首先尝试在每个需要移植的例程中放置“$ acc routine”指令 . 在编译期间,使用“pgf90 -acc -Minfo = acc... -
0 votesanswersviews
fortran openacc派生类型与可分配
我读过Fortran派生类型的手动深度复制是可能的,但是下面的简单测试程序在运行时失败了;程序与PGI v16.10完全编译 . 出了什么问题? program Test implicit none type dt integer :: n real, dimension(:), allocatable :: xm end type dt... -
1 votesanswersviews
传递一个fortran派生类型,它包含不同编译器之间的可分配数组(PGI和Intel)
我们有一个项目可以发展Nvidia GPU和Intel Xeon Phi . 主机代码和GPU代码用Fortran编写,由pgfortran编译 . 为了将我们的一些工作卸载到Phi,我们必须创建一个由ifort编译的共享库(静态链接不能工作),并从代码的pgfortran部分调用共享子例程 . 通过这样做,我们可以将代码的pgfortran部分中的数组卸载到可以与Xeon Phi通信的intel...