CDVM COMP CDVM COMP COMP PROGRAM JACOpen MPDVM
- Slides: 21
CDVM$ C$OMP CDVM$ C$OMP + C$OMP PROGRAM JAC_Open. MP_DVM PARAMETER (L=8, ITMAX=20) REAL A(L, L), B(L, L) DISTRIBUTE ( BLOCK, BLOCK) : : A ALIGN B(I, J) WITH A(I, J) PARALLEL SHARED(A, B) PRIVATE (I, J, ITMAX) SINGLE PRINT *, '***** TEST_JACOBI *****‘ END SINGLE DO IT = 1, ITMAX PARALLEL (J, I) ON A(I, J) DO DO J = 2, L-1 DO I = 2, L-1 A(I, J) = B(I, J) ENDDO PARALLEL (J, I) ON B(I, J), SHADOW_RENEW (A) DO DO J = 2, L-1 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 END PARALLEL END 3 В. Бахтин
CDVM$ PROGRAM JAC_Open. MP_DVM PARAMETER (L=8, ITMAX=20) REAL A(L, L), B(L, L) DISTRIBUTE ( BLOCK, BLOCK) : : A ALIGN B(I, J) WITH A(I, J) PRINT *, '***** TEST_JACOBI *****‘ DO IT = 1, ITMAX PARALLEL (J, I) ON A(I, J) PARALLEL DO SHARED (A, B), PRIVATE(I, J) DO J = 2, L-1 DO I = 2, L-1 A(I, J) = B(I, J) ENDDO PARALLEL (J, I) ON B(I, J), SHADOW_RENEW (A) C$OMP PARALLEL DO SHARED (A, B), PRIVATE(I, J) CDVM$ C$OMP DO J = 2, L-1 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 C$OMP END PARALLEL END В. Бахтин 4
CDVM$ C$OMP + C$OMP PROGRAM JAC_Open. MP_DVM PARAMETER (L=8, ITMAX=20) REAL A(L, L), B(L, L) DISTRIBUTE ( BLOCK, BLOCK) : : A ALIGN B(I, J) WITH A(I, J) PRINT *, '***** TEST_JACOBI *****' PARALLEL SHARED(A, B) PRIVATE (I, J, IT) DO IT = 1, ITMAX PARALLEL (J, I) ON A(I, J) DO DO J = 2, L-1 DO I = 2, L-1 A(I, J) = B(I, J) ENDDO PARALLEL (J, I) ON B(I, J), SHADOW_RENEW (A) DO DO J = 2, L-1 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 END PARALLEL END
PROGRAM SOR_DVM PARAMETER (L=8, ITMAX=20) REAL A(L, L) CDVM$ DISTRIBUTE ( BLOCK, BLOCK) : : A PRINT *, '***** TEST_SOR *****‘ DO IT = 1, ITMAX CDVM$ PARALLEL ( J, I) ON A( I, J), ACROSS (A(1: 1, 1: 1)) DO J = 2, L-1 DO I = 2, L-1 A(I, J) = (A(I-1, J) + A(I, J-1) + A(I+1, J) + A(I, J+1)) / 4 ENDDO END В. Бахтин 8
Конвейерный параллелизм ( dvm run 3 1 sor ) j i p 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 p 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 p 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 В. Бахтин 10
PROGRAM SOR_Open. MP PARAMETER (L=8, ITMAX=20) REAL A(L, L) PRINT *, '***** TEST_SOR *****‘ DO IT = 1, ITMAX !$OMP PARALLEL SHARED(A, B) PRIVATE(I, J, NEWJ, IAM) !$ IAM = OMP_GET_THREAD_NUM () DO NEWJ = 2, L-1 + OMP_GET_NUM_THREADS () – 1 J = NEWJ - IAM !$OMP DO SCHEDULE (STATIC) DO I = 2, L-1 !$ IF (J. LT. 2. OR. J. GT. L - 1) THEN !$ CYCLE !$ ENDIF A(I, J) = (A(I-1, J) + A(I, J-1) + A(I+1, J) + A(I, J+1)) / 4 ENDDO !$OMP END PARALLEL ENDDO END В. Бахтин 11
PROGRAM SOR_Open. MPDVM PARAMETER (L=8, ITMAX=20) REAL A(L, L) !DVM$ DISTRIBUTE ( BLOCK, BLOCK) : : A PRINT *, '***** TEST_SOR *****‘ DO IT = 1, ITMAX !$OMP PARALLEL SHARED(A, B) PRIVATE(I, J, NEWJ, IAM) !$ IAM = OMP_GET_THREAD_NUM () !DVM$ PARALLEL ( NEWJ, I) ON A( I, NEWJ-IAM), !DVM$* ACROSS (A(1: 1, 1: 1)) DO NEWJ = 2, L-1 + OMP_GET_NUM_THREADS () – 1 J = NEWJ - IAM !$OMP DO SCHEDULE (STATIC) DO I = 2, L-1 !$ IF (J. LT. 2. OR. J. GT. L - 1) THEN !$ CYCLE !$ ENDIF A(I, J) = (A(I-1, J) + A(I, J-1) + A(I+1, J) + A(I, J+1)) / 4 ENDDO !$OMP END PARALLEL В. Бахтин ENDDO END 13
- Differences between sequential and event-driven programming
- Orang yang menulis perangkat lunak komputer disebut dengan
- Program tahunan adalah
- Microsoft excel merupakan program ... *
- Lembar kerja program aplikasi pengolah angka adalah...
- Ms word
- Doterra compensation plan
- Comp tox
- Ap computer science a recursion
- Comp 3007
- Hotel math fundamentals
- Hotel comp set benchmarking
- Dairy comp 305
- Linux comp
- User requirement
- Im comp plan
- Comp 4620
- Excel comp planning
- Cs110 northwestern
- Comp 410 unc
- Comp sci 1102
- Comp 6321 concordia