8. openmp asosida parallel dasturlash
Download 48.95 Kb.
|
openmself
dynamic - ish iplar o'rtasida berilgan o'lchamdagi paketlarda taqsimlanadi (standart o'lcham 1). Tarmoqlardan biri o'z ma'lumotlarini qayta ishlashni tugatgandan so'ng, u keyingisini oladi. Shuni ta'kidlash kerakki, bu yondashuv biroz yuqoriroq yukga ega, ammo iplar orasidagi yukni yaxshiroq muvozanatlash mumkin.guided - bu turdagi ishlarni taqsimlash avvalgisiga o'xshaydi, bundan tashqari blok o'lchami qancha ishlov berilmagan iteratsiyalar qolganiga qarab dinamik ravishda o'zgaradi. Blok hajmi asta-sekin belgilangan qiymatgacha kamayadi. Ushbu yondashuv bilan, kamroq qo'shimcha xarajatlar bilan yaxshi muvozanatga erishish mumkin.runtime - tarqatish turi dasturni bajarish vaqtida aniqlanadi. Tanlash eksperimental maqsadlar uchun qulayIsh taqsimoti turi OMP_SCHEDULE muhit oʻzgaruvchisiga bogʻliq. Odatiy bo'lib, statik ishni taqsimlash usuli o'rnatilgan deb hisoblanadi.bash> export OMP_SCHEDULE=static,1000 bash> export OMP_SCHEDULE=dynamic ordering (buyurtma berish). Sikl iteratsiyasini qayta ishlash tartibi odatda oldindan aytib bo'lmaydi. Biroq, bu OpenMP-ni sikldagi ifodalarni tartibda bajarishga "majburlash" mumkin. Buning uchun ordered kalit so'z mavjud: #pragma omp for ordered schedule(dynamic) for(int n=0; n<100; ++n) { files[n].compress(); #pragma omp ordered send(files[n]); } Sikl parallel ravishda 100 ta faylni "siqadi", lekin ularni qat'iy ketma-ketlikda "yuboradi". Agar, masalan, ip ettinchi faylni "siqgan" bo'lsa, lekin oltinchi fayl hali "yuborilgan" bo'lmasa, ip oltinchi faylni "yuborilishini" kutadi. Har bir fayl bir marta "siqiladi" va "yuboriladi", lekin "siqilish" parallel ravishda sodir bo'lishi mumkin. Har bir tsiklda faqat bitta ordered blokga ruxsat beriladi. OpenMP muhit o'zgaruvchilari. Download 48.95 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling