大佬教程收集整理的这篇文章主要介绍了OpenMP 4.5/5.0 标准是否支持 GPU 上的 Fortran 自动数组?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试使用 nvhpc/21.3 编译以下代码以在 NvIDia v100 上运行,但代码爆炸了。所以nvhpc不支持fortran自动数组,但是OpenMP标准支持吗?
module test_R_488_11845@od
contains
subroutIne saxpy(i,n,s)
Integer :: i,n
real(8),parameter :: p=0.5
real(8),dimension(n,n) :: a,b,c ! @R_419_6843@matic arrays
real(8) :: s
!$omp declare target
a(i,:) = 1.0d0
b(i,:) = 2.0d0
c(i,:) = 0.0d0
do j=1,n
c(i,j) = a(i,j) + P*b(i,j)
end do
s=c(i,1)
end subroutIne
end module
program test
use test_R_488_11845@od
Integer,parameter :: n=100
Integer :: i
real(8) :: s
!$omp target teams diStribute parallel do map(from:s)
do i=1,n
call saxpy(i,s)
end do
print*,'%test_omp,',s
end program
OpenMP 标准是否支持 fortran 自动数组?
OpenMP 标准假定底层串行语言标准,但不要求它们。
OpenMP 标准本身对此类与 OpenMP 指定的程序行为变化无关的功能没有任何说明。 (就像 OpenMP 没有说明哪些 format
说明符是合法的 :-))。
更一般地说,OpenMP ARB 没有用于 OpenMP 合规性的测试或验证套件,因此不正经的供应商可能声称支持特定级别的 OpenMP 标准,但实际上并没有这样做......警告!)
以上是大佬教程为你收集整理的OpenMP 4.5/5.0 标准是否支持 GPU 上的 Fortran 自动数组?全部内容,希望文章能够帮你解决OpenMP 4.5/5.0 标准是否支持 GPU 上的 Fortran 自动数组?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。