• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
Obliczenia r\u00f3wnoleg\u0142e
dr in\u017c. Zbigniew Tarapata
Temat nr 6: Narz\u0119dzia i\u015brodowiska programowania r\u00f3wnoleg\u0142ego
3
OBLICZENIA R\u00d3WNOLEG\u0141E
Temat 6:
Narz\u0119dzia i\u015brodowiska
programowania r\u00f3wnoleg\u0142ego
Prowadz\u0105cy:
dr in\u017c. Zbigniew TARAPATA
pok.225, tel.: 83-73-38
e-mail:
Zbigniew.Tarapata@wat.edu.pl
http://
tarapata.
tarapata.strefa
strefa.pl
.pl/
/p_obliczenia_rownolegle
p_obliczenia_rownolegle/
/
Obliczenia r\u00f3wnoleg\u0142e
dr in\u017c. Zbigniew Tarapata
Temat nr 6: Narz\u0119dzia i\u015brodowiska programowania r\u00f3wnoleg\u0142ego
4
Realizacja modelu r\u00f3wnoleg\u0142o\u015bci danych \u2013 High Performance Fortran.
High Performance Fortran jest rozszerzeniem Fortranu 95 \u2013
popularnego
j\u0119zyka
programowania

naukowo-in\u017cynierskiego. Realizuje on model programowania z r\u00f3wnoleg\u0142o\u015bci\u0105 danych, g\u0142\u00f3wnie dla operacji wektorowych i macierzowych. Zawiera rozszerzenia w postaci dyrektyw kompilatora uzupe\u0142niaj\u0105cych standardowe instrukcje Fortranu. J\u0119zyk ten z za\u0142o\u017cenia ma udost\u0119pnia\u0107 model programowania praktycznie realizowalny, prostszy ni\u017c inne i r\u00f3wnie efektywny.

W celu zr\u00f3wnoleglenia dzia\u0142ania poprzez przypisanie danych poszczeg\u00f3lnym procesom High Performance Fortran udost\u0119pnia dyrektywy okre\u015blaj\u0105ce u\u0142o\u017cenie procesor\u00f3w:

!HPF$ PROCESSORS, DIMENSION(3,4):: P1
!HPF$ PROCESSORS, DIMENSION(2,6):: P2
!HPF$ PROCESSORS, DIMENSION(12):: P3
!HPF$ PROCESSORS, DIMENSION(2,2,3):: P4

W jednym programie mo\u017ce istnie\u0107 wiele zdefiniowanych uk\u0142ad\u00f3w procesor\u00f3w, wykorzystywanych w r\u00f3\u017cnych miejscach do realizacji r\u00f3\u017cnych operacji.

Przypisanie (dystrybucja) danych odbywa si\u0119 za pomoc\u0105
dyrektywy DISTRIBUTE, np.:
!HPF$ PROCESSORS, DIMENSION(4):: P
REAL, DIMENSION(10):: T1, T2
Obliczenia r\u00f3wnoleg\u0142e
dr in\u017c. Zbigniew Tarapata
Temat nr 6: Narz\u0119dzia i\u015brodowiska programowania r\u00f3wnoleg\u0142ego
5
!HPF$ DISTRIBUTE T1(BLOCK) ONTO P
!HPF$ DISTRIBUTE T1(CYCLIC) ONTO P

Okre\u015blenie BLOCK oznacza podzia\u0142 tablicy na bloki przypisywane kolejnym procesorom, okre\u015blenie CYCLIC oznacza przypisywanie kolejnych wyraz\u00f3w tablicy kolejnym procesorom z okresowym zawijaniem.

Wykonanie r\u00f3wnoleg\u0142e odbywa si\u0119 poprzez:
\u2022 realizacj\u0119 standardowych operacji wektorowych Fortranu
95
A+B, A*B, A(B*C) \u2013 operacje dozwolone dla macierzy
zgodnych, tj. maj\u0105cych ten sam kszta\u0142t,
\u2022 p\u0119tli operuj\u0105cych na wszystkich elementach macierzy:
FORALL ( i=1..n, j=1..m, A[i,j].NE.0 ) A(i,j) = 1/A(i,j)
R\u00f3wnoleg\u0142o\u015b\u0107 jest uzyskiwana niejawnie \u2013 programista nie okre\u015bla,
kt\u00f3re operacje s\u0105 wykonywane na konkretnym procesorze.
Unified Parallel C.

Unified Parallel C (UPC) to bardzo wygodne w u\u017cyciu rozszerzenie j\u0119zyka C s\u0142u\u017c\u0105ce do programowania r\u00f3wnoleg\u0142ego. Oparte jest ono na modelu programowania r\u00f3wnoleg\u0142ego o pami\u0119ci fizycznie rozproszonej, logicznie wsp\u00f3\u0142dzielonej. UPC to niewielkie i bardzo wygodne w u\u017cyciu narz\u0119dzie pozwalaj\u0105ce tworzy\u0107 wydajne programy.

of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...