ВУЗ:
Составители:
Рубрика:
- 120 -
Приложение 1.
Примеры последовательной и параллельных реализаций алгоритма
Якоби решения сеточных уравнений (по материалам работы [6])
a) последовательная программа на языке Fortran’77
PROGRAM JAC_F77
PARAMETER (L=8, ITMAX=20)
REAL A(L,L), B(L,L)
PRINT *, '********** TEST_JACOBI **********'
DO IT = 1, ITMAX
DO J = 2, L-1
DO I = 2, L-1
A(I, J) = B(I, J)
ENDDO
ENDDO
DO J = 2, L-1
DO I = 2, L-1
B(I, J) = 0, 25
×
(A(I-1, J) + A(I, J-1) + A(I+1, J) + A(I, J+1))
ENDDO
ENDDO
ENDDO
END
б) параллельная программа на языке HPF,
цветом (насыщенностью) выделены HPF-предписания
PROGRAM JAC_HPF
PARAMETER (L=8, ITMAX=20)
REAL A(L,L), B(L,L)
!HPF$ PROCESSORS P(3,3)
!HPF$ DISTRIBUTE ( BLOCK, BLOCK) :: A
!HPF$ ALIGN B(I,J) WITH A(I,J)
C arrays A and B with block distribution
PRINT *, '********** TEST_JACOBI **********'
DO IT = 1, ITMAX
!HPF$ INDEPENDENT
DO J = 2, L-1
!HPF$ INDEPENDENT
DO I = 2, L-1
A(I, J) = B(I, J)
ENDDO
ENDDO
!HPF$ INDEPENDENT
DO J = 2, L-1
!HPF$ INDEPENDENT
DO I = 2, L-1
B(I, J) = (A(I-1, J) + A(I, J-1) + A(I+1, J) + A(I, J+1)) / 4
ENDDO
ENDDO
ENDDO
END
в) параллельная программа на языке Fortran’DVM,
цветом (насыщенностью) выделены DVM-директивы
PROGRAM JAC_DVM
PARAMETER (L=8, ITMAX=20)
REAL A(L,L), B(L,L)
- 120 - Приложение 1. Примеры последовательной и параллельных реализаций алгоритма Якоби решения сеточных уравнений (по материалам работы [6]) a) последовательная программа на языке Fortran’77 PROGRAM JAC_F77 PARAMETER (L=8, ITMAX=20) REAL A(L,L), B(L,L) PRINT *, '********** TEST_JACOBI **********' DO IT = 1, ITMAX DO J = 2, L-1 DO I = 2, L-1 A(I, J) = B(I, J) ENDDO ENDDO DO J = 2, L-1 DO I = 2, L-1 B(I, J) = 0, 25 × (A(I-1, J) + A(I, J-1) + A(I+1, J) + A(I, J+1)) ENDDO ENDDO ENDDO END б) параллельная программа на языке HPF, цветом (насыщенностью) выделены HPF-предписания PROGRAM JAC_HPF PARAMETER (L=8, ITMAX=20) REAL A(L,L), B(L,L) !HPF$ PROCESSORS P(3,3) !HPF$ DISTRIBUTE ( BLOCK, BLOCK) :: A !HPF$ ALIGN B(I,J) WITH A(I,J) C arrays A and B with block distribution PRINT *, '********** TEST_JACOBI **********' DO IT = 1, ITMAX !HPF$ INDEPENDENT DO J = 2, L-1 !HPF$ INDEPENDENT DO I = 2, L-1 A(I, J) = B(I, J) ENDDO ENDDO !HPF$ INDEPENDENT DO J = 2, L-1 !HPF$ INDEPENDENT DO I = 2, L-1 B(I, J) = (A(I-1, J) + A(I, J-1) + A(I+1, J) + A(I, J+1)) / 4 ENDDO ENDDO ENDDO END в) параллельная программа на языке Fortran’DVM, цветом (насыщенностью) выделены DVM-директивы PROGRAM JAC_DVM PARAMETER (L=8, ITMAX=20) REAL A(L,L), B(L,L)
Страницы
- « первая
- ‹ предыдущая
- …
- 118
- 119
- 120
- 121
- 122
- …
- следующая ›
- последняя »