使用以下代码,是否正确?我有 2GB Geforce 750M 并使用 PGI Fortran 编译器。该程序适用于4000x4000
数组,即使它不应该抱怨任何更高的东西,你可以看到我已经分配了一个9000x9000
数组但是如果我使用一个值> 4000它会抱怨并引发运行时错误。
program matrix_multiply
!use openacc
implicit none
integer :: i,j,k,n
real, dimension(9000,9000) :: a, b, c
real x_scalar
real x_vector(2)
n=5000
call random_number (b)
call random_number (a)
!$acc kernels
do k = 1,n
do i = 1,n
do j = 1,n
c(i,k) = c(i,k) + a(i,j) * b(j,k)
enddo
enddo
enddo
!$acc end kernels
end program matrix_multiply