次のコードを使用すると、正しいですか? 私は 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