5 Amaliy mashg’ulot: Mavzu: OpenMP paket imkoniyatlari Ishdan maqsad: OpenMP paket imkoniyatlari o’rganish.
Nazariy qism OpenMP1 - bu C, C ++ va Fortran tillarida umumiy xotiraga ega bo'lgan ko'p protsessorli tizimlarda ko'p bosqichli ilovalarni dasturlash uchun mo'ljallangan kompilyator direktivalari, kutubxona tartiblari va muhit o'zgaruvchilari to'plami. OpenMP turli platformalarda ko'plab tijorat kompilyatorlari tomonidan qo'llab-quvvatlanadi. OpenMP spetsifikatsiyasining 3.0 versiyasi chop etildi. OpenMP spetsifikatsiyasi bir nechta yirik kompyuter uskunalari va dasturiy ta'minot ishlab chiqaruvchilari tomonidan ishlab chiqilmoqda, ularning ishi OpenMP Architecture Review Board (ARB) deb nomlangan notijorat tashkilot tomonidan tartibga solinadi. OpenMP-dan foydalanish oson va faqat ikkita asosiy turdagi konstruktsiyalarni o'z ichiga oladi: qo'shimcha kutubxona sifatida kiritilgan pragma direktivalari va OpenMP ish vaqti funksiyalari. Pragma direktivalari odatda kompilyatorga kod bloklarining parallel bajarilishini amalga oshirishni aytadi. Ushbu ko'rsatmalarning barchasi #pragma omp bilan boshlanadi. Boshqa har qanday pragma direktivalari singari, ular ma'lum bir texnologiyani qo'llab-quvvatlamaydigan kompilyator tomonidan e'tiborga olinmaydi - bu holda, OpenMP. OpenMP funktsiyalari asosan muhit sozlamalarini o'zgartirish va olish uchun ishlatiladi. Bundan tashqari, OpenMP ba'zi sinxronizatsiya turlarini qo'llab-quvvatlash uchun API funktsiyalarini o'z ichiga oladi. OpenMP ish vaqti kutubxonasining (ish vaqti) ushbu funksiyalaridan foydalanish uchun dasturingizga omp.h sarlavha faylini kiritishingiz kerak. Agar ilovangizda faqat OpenMP pragma direktivalaridan foydalansangiz, ushbu faylni kiritishingiz shart emas. OpenMP ish vaqti funksiyalari omp_ bilan prefikslangan. OpenMP direktivalari quyidagi formatga ega:
#pragma omp <директива> [раздел [ [,] раздел]...]
Barcha direktivalar va ularning spetsifikatsiyalari haqida batafsil ma'lumotni nashr etilgan OpenMP standartida, kompilyatoringiz uchun qo'shimcha hujjatlarda, shuningdek, A.S. Antonovning qo'llanmasida topish mumkin. "OpenMP texnologiyasidan foydalangan holda parallel dasturlash"