0

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

1 に答える 1