G‘afarov, A. F. Galimyanov parallel hisobiyotlar qo'llanma Qozon
Kengaytirilgan OpenMP xususiyatlari
Download 1.46 Mb.
|
ParVychGafGal (1)
8.8. Kengaytirilgan OpenMP xususiyatlari
Sizni yanada samaraliroq qilishga imkon beruvchi OpenMP vositalarini ko'rib chiqing parallel dasturlarni yozish. Ushbu vositalar direktivani o'z ichiga oladi threadprivate, bu sizga shaxsiy o'zgaruvchini bir marta e'lon qilish imkonini beradi bitta fayl ichidagi barcha parallel bo'limlar uchun. Mumkin qilish uchun 138 Machine Translated by Google foydalanish, o'zgaruvchini statik, direktiv deb e'lon qilish kerak threadprivate birinchi parallel deklaratsiyadan oldin mavjud bo'lishi kerak bo'limlar va dasturdagi iplar soni doimiy bo'lishi kerak. Sintaksis: #pragma omp threadprivate(var1[, var2 ...]) Yana bir OpenMP kengaytmasi foydalanish qobiliyatidir qulflar orqali iplarni sinxronlashtirish. OpenMP da qulflanadi POSIX iplaridagi mutekslarga o'xshaydi. Hatto ular bilan ishlash uchun funktsiyalar to'plami o'xshash. bekor omp_init_lock (omp_lock_t *lock) qulfni ishga tushiradi va uni qulflash parametri bilan bog'laydi. bekor omp_destroy_lock (omp_lock_t *lock) lock parametri bilan bog'langan o'zgaruvchini boshlang'ichdan chiqaradi. bekor omp_set_lock(omp_lock_t *lock) Bloklash tugaguniga qadar ipning bajarilishini bloklaydi qulf o'zgaruvchisi mavjud bo'lmaydi. bekor omp_unset_lock (omp_lock_t *lock) Qulf o'zgaruvchisidagi qulfni bo'shatadi. bekor omp_test_lock (omp_lock_t *lock) Qulfni olishga urinishlar va agar muvaffaqiyatli bo'lsa, null bo'lmagan qiymatni qaytaradi. Aks holda, nol qaytariladi. Funktsiya bloklanmaydi. Funktsiya prototiplari omp.h da tasvirlangan ... #o'z ichiga int i, p_sum = 0, res = 0; omp_init_lock(&lock); 139
#pragma omp parallel firstprivate(p_sum) { Shaxsiy(i) uchun #pragma parallel for(i=0; i<100000; i++) p_sum += i; omp_set_lock(&lock); ob'ekt += p_sum; omp_unset_lock(&lock); } omp_destroy_lock(&lock); printf("%d\n", res); } 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