程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了OpenMP 4.5/5.0 标准是否支持 GPU 上的 Fortran 自动数组?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决OpenMP 4.5/5.0 标准是否支持 GPU 上的 Fortran 自动数组??

开发过程中遇到OpenMP 4.5/5.0 标准是否支持 GPU 上的 Fortran 自动数组?的问题如何解决?下面主要结合日常开发的经验,给出你关于OpenMP 4.5/5.0 标准是否支持 GPU 上的 Fortran 自动数组?的解决方法建议,希望对你解决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,请注明来意。