OpenMPga kirish
OpenMPga kirish
OpenMP imkoniyatlari OpenMP (OpenMulti-Processing) C, C++ va Fortran dasturlarini parallellashtirish uchun ochiq standartdir. Ko'p protsessorli, umumiy xotira tizimlarida ko'p bosqichli ilovalarni dasturlash uchun mo'ljallangan kompilyator direktivalari, kutubxona protseduralari va muhit o'zgaruvchilari to'plamining tavsifini beradi. OpenMP interfeysi umumiy xotira modelida kengaytiriladigan SMP tizimlarida (SSMP, ccNUMA va boshqalar) dasturlash uchun standart sifatida ishlab chiqilgan. OpenMP standarti kompilyator direktivalari, protseduralari va o'zgaruvchilari to'plami uchun spetsifikatsiyalarni o'z ichiga oladi. C, C++ va Fortran dasturlarini parallellashtirish uchun ochiq standart Yuqori samarali hisoblash (HPC High Performance Computing ) sohasida juda muhim. Kompilyator qo'llab-quvvatlashini talab qiladi. Ketma-ket va parallel sohalar bir dasturda. Inkremental parallelizm(tsikllar).
OpenMP afzalliklari 1. “ Inkrementall parallellashtirish" g'oyasi tufayli OpenMP o'z hisoblash dasturlarini katta parallel halqalar bilan tezda parallellashtirishni xohlaydigan ishlab chiquvchilar uchun idealdir. Ishlab chiquvchi yangi parallel dastur yaratmaydi, shunchaki ketma- ket dastur ichiga OpenMP direktivalarini qo'shadi. 2. Shu bilan birga, OpenMP juda moslashuvchan mexanizm bo'lib , ishlab chiquvchiga parallel dasturning xatti-harakatlari ustidan katta nazoratni ta'minlaydi. 3. Bitta protsessorli platformadagi OpenMP dasturi ketma-ket dastur sifatida ishlatilishi mumkin , ya'ni. ketma-ket va parallel versiyalarni qo'llab-quvvatlashga hojat yo'q. OpenMP direktivalari ketma-ket kompilyator tomonidan oddiygina e'tiborga olinmaydi .
OpenMP ning maqsadi Standartlashtirish : Umumiy xotiraga ega turli xil tizimlar/arxitekturalar/platformalar uchun yagona standart. Etakchi dasturiy ta'minot va apparat sotuvchilari tomonidan birgalikda kuchaytiriladi . Qisqalik va ifodalilik: Unchalik katta bo’lmagan direktivalar va qo'shimcha elementlarning to'plami. Foydalanish qulayligi : Dasturchining ishiga deyarli ta'sir qilmaydigan parallel dasturlarni yaratishning soddalashtirilgan mexanizmi. Portativlik : C/C++ va Fortran tillarida qo'llab-quvvatlanadi . Bir nechta platformalarda qo'llab-quvvatlanadi ( Unix / Linux , MacOS , Windows ).
OpenMP tarixi Fortran kengaytmalari : 90- yillarning boshi Х3Н5 loyihasi - ANSI standartidagi birinchi urinish : 1994 yil OpenMP rivojlanishining boshlanishi : 1997 -yil 1.0-2.5- versiyalari (1997 yil oktabr - 2005 yil may) : Birinchi versiyalarida siklni oqimlar orqali parallellashtirish kiritilgan 3.0-3.1- versiyalari (2008 yil may - 2011 yil iyul) : Mustaqil vazifalarni qo'llab-quvvatlash va rivojlantirish 4.0 - v ersiya … (2013 -yil iyul) : Siklni vektorlashtirishni qo'llab- quvvatlash (SIMD), tezlatgichlarni qo'llab-quvvatlash ( target ), bog'liq vazifalar, o'rnatilgan xatolarni boshqarish mexanizmlari ( cancel ), maxsus qisqartirishlar, atom konstruktsiyalarini kengaytirish .