Amaliy mashg‘ulot №9. Openmp paket imkoniyatlari. Reja Openmp nima?


Download 40.91 Kb.
Pdf ko'rish
bet3/5
Sana02.06.2024
Hajmi40.91 Kb.
#1835825
1   2   3   4   5
Bog'liq
9-amaliy mashg\'ulot

Bu 
nimaga 
o'xshaydi? 
Oddiy misol: pi ni hisoblash. Ketma -ket dasturga ikkita satr qo'yilgan va u 
parallellashtirilgan!
compute_pi dasturi 
parametr (n = 1000) 
butun son i 
w, x , sum, pi, f, a ikkita aniqlik 
f (a) = 4.d0 / ( 1.d 0 + a * a) 
w = 1.0d0 / n 
sum = 0.0d0; 
! $ OMP PARALLEL XUSUSIY (X), ULASHILGAN (w) 
! $ OMP & REDUCTION (+: sum) 
i = 1, n ni bajaring 
x = w * (i-0.5d0) 
sum = sum + f (x) 
tugatish 
pi = w * yig'indisi 
chop etish *, 'pi = ', pi 
STOP 
oxiri 
Fortran nuqtai nazaridan OpenMP ko'rsatmalari sharhlar bo'lib, "! 
$ OMP" belgilar kombinatsiyasidan boshlanadi . Direktivlarni 3 toifaga bo'lish 
mumkin: parallel bo'lim ta'rifi, ish almashish, sinxronizatsiya. Har bir ko'rsatma bir 
nechta qo'shimcha atributlarga ega bo'lishi mumkin - band . Turli ko'rsatmalarni 
atributlari bo'lishi mumkin bo'lgan o'zgaruvchilar sinflarini tayinlash qoidalari alohida 
ko'rsatiladi.
Yumurtalash iplari 
PARALLEL ... END PARALLEL parallel dastur maydonini 
belgilaydi . Bu maydonga kirganda, yangilar (N-1) paydo bo'ladi, "N" iplarining 


"buyrug'i" hosil bo'ladi va ota-ona ip 0 raqamini oladi va buyruqning asosiy ipiga 
aylanadi ("asosiy ip" deb nomlanadi) . Parallel hududdan chiqib ketganda, asosiy ip 
qolgan iplarning tugashini kutadi va bir misolda bajarilishini davom ettiradi. SMP 
tizimida ish zarrachalari turli protsessorlar bo'ylab taqsimlanishi kutilmoqda (lekin bu 
odatda operatsion tizim zimmasiga yuklanadi).
Ishlar paydo bo'ladigan iplar o'rtasida 
qanday taqsimlanishi DO SECTIONS va SINGLE direktivalari bilan 
belgilanadi . Ishning taqsimlanishini ( a la MPI ) joriy ipning sonini va umumiy iplar 
sonini qaytaradigan 
funktsiyalar
 yordamida aniq nazorat qilish mumkin . Odatiy bo'lib 
(bu ko'rsatmalarni tashqarisida), PARALLEL ichidagi kod barcha ish zarrachalari 
tomonidan bir xil tarzda bajariladi.
PARALLEL bilan birgalikda IF bandini ( shartini) ishlatish mumkin - parallel 
shart faqat belgilangan shart bajarilganda boshlanadi.
Parallel hududlarni dinamik ravishda joylashtirish mumkin. Odatiy bo'lib (ichki 
o'rnatilgan parallelizmga aniq ruxsat berilmagan bo'lsa), ichki parallel mintaqa bitta ip 
bilan bajariladi. 
Ajratish ishlari (ish almashish konstruktsiyalari) 
Parallel halqalar 

Download 40.91 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling