cpp: #include <stdio.h>\nint main()\n{\n  int i,j;\n  int n=100, m=100;\n  double b[n][m];\n\n  for(i=0;i<n; i++) \n    for(j=0;j<n; j++) \n      b[i][j]=(double)(i*j);\n\n  for (i=1;i<n;i++)\n#pragma omp parallel for\n    for (j=1;j<m;j++)\n      b[i][j]=b[i-1][j-1];\n  return 0;\n}\n
fortran: program DRB054_inneronly2_orig_no\n    use omp_lib\n    implicit none\n\n    integer i,j,n,m\n    real, dimension(:,:), allocatable :: b\n\n    n = 100\n    m = 100\n\n    allocate (b(n,m))\n\n    do i = 1, n\n        do j = 1, m\n            b(i,j) = i*j\n        end do\n    end do\n\n    do i = 2, n\n        !$omp parallel do\n        do j =2, m\n            b(i,j)=b(i-1,j-1)\n        end do\n        !$omp end parallel do\n    end do\n\n    deallocate(b)\nend program