G‘afarov, A. F. Galimyanov parallel hisobiyotlar qo'llanma Qozon
Download 1.46 Mb.
|
ParVychGafGal (1)
- Bu sahifa navigatsiya:
- OPM_DYNAMIC yoki omp_set_dynamic() funksiyasini chaqirish orqali. 8.4. OpenMP konstruktsiyalari Amalga
#pragma omp parallel
{ myid = omp_get_thread_num(); agar (myid == 0) biror narsa qilmoq(); boshqa boshqa_bir narsa qilish(myid); } Yuqoridagi misol quyidagi kamchilikka ega. Biz bilmaymiz myid o'zgaruvchisi umumiy yoki shaxsiy bo'ladimi. Parallel bajarish doirasi C/C++ da quyidagicha tasvirlangan yo'l:
umumiy (var1, var2, ....) \ 121 Machine Translated by Google xususiy (var1, var2, ...) \ firstprivate (var1, var2, ...) \ qisqartirish (onepatop: var1, var2, ...) agar (ifoda) \ sukut bo'yicha (birgalikda|yo'q) { qurilish bloki } Ikki ijro modeli mavjud: dinamik, qachon miqdori dasturda ishlatiladigan iplar bir sohada farq qilishi mumkin boshqasiga parallel bajarish, va statik qachon iplar soni belgilangan. Amalga oshirish modeli yoki muhit o'zgaruvchisi orqali boshqariladi OPM_DYNAMIC yoki omp_set_dynamic() funksiyasini chaqirish orqali. 8.4. OpenMP konstruktsiyalari Amalga oshirish shartlari. Amalga oshirish shartlari qandayligini belgilaydi kodning parallel qismini va o'zgaruvchilar doirasini bajarish kodning ushbu bo'limi ichida. Biz quyidagi shartlarni tavsiflaymiz: umumiy (var1, var2, ) Umumiy shart barcha ro'yxatga olingan o'zgaruvchilarni ko'rsatadi mavzular o'rtasida taqsimlanadi. Barcha mavzular bir xil va ga kirish huquqiga ega bo'ladi bir xil xotira maydoni. xususiy (var1, var2, ...) Xususiy band har bir ipning o'ziga xos bo'lishi kerakligini ko'rsatadi o'zgaruvchining butun bajarilishi davomida nusxasi. firstprivate(var1, var2, ...) Bu holat xususiy holatga o'xshaydi , bundan tashqari ko'rsatilgan o'zgaruvchilar parallel qismga kirishda ishga tushiriladi Parallel bo'limga kirishdan oldin o'zgaruvchiga ega bo'lgan qiymatga ega kod. 122 Machine Translated by Google lastprivate (var1, var2, ...) Xususiy o'zgaruvchilar ular olgan qiymatni saqlaydi kodning parallel qismining oxiriga yetganda. qisqartirish (onepatop: var1, var2, ...) Ushbu shart qisqartirish operatsiyalarining xavfsiz bajarilishini kafolatlaydi, masalan, global summani hisoblash. agar (ifoda) Bu shart parallel bajarish zarurligini aytadi faqat ifoda to'g'ri bo'lsa. standart (birgalikda|maxfiy|yo'q) Bu shart ichidagi o'zgaruvchilar doirasini belgilaydi sukut bo'yicha kodning parallel qismi. jadval (turi[,chank]) Bu holat tsiklning takrorlanishi qanday taqsimlanishini nazorat qiladi iplar orasida. Download 1.46 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling