Openmp texnologiyasini va uning samarali natijalarini o’rganish hamda Openmp texnologiyasi yordamida misollar yechish


Download 150.89 Kb.
Sana28.12.2022
Hajmi150.89 Kb.
#1014177
Bog'liq
5-topshiriq


O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

Amaliy ish





Bajardi: Mamalatifov Sardor
Tekshirdi: Jayliyev Sh.
KOMPYUTER ARXITEKTURASI FANIDAN 5-TOPSHIRIQ MAVZU: OpenMP TEXNOLOGIYASI YORDAMIDA MISOLLAR YECHISH
Ishdan maqsad: OpenMP texnologiyasini va uning samarali natijalarini o’rganish hamda OpenMP texnologiyasi yordamida misollar yechish.
OpenMP - umumiy xotira qurilmalarida dasturlash usuli. Bu shuni anglatadiki, parallelizm har bir parallel oqim barcha ma'lumotlaringizga kirish huquqiga ega bo'lgan joyda sodir bo'ladi.
1-rasm. Parallell ishlash jarayoni
OpenMP da biz #pragma omp parallel kalit so'zidan foydalanib, biz uni parallel qiladigan mintaqani eslatib o'tishimiz kerak. #pragma omp parallel parallelga o'ralgan ishni bajarish uchun qo'shimcha oqimlar uchun ishlatiladi. Parallel mintaqa yaratish uchun kod:

#pragma omp parallel
{
//Parallel mintaqa kodi
}

Ya’ni yuqorida ko’rsatilgan //Parallel mintaqa kodi ni o’rnniga biz quyidagi kodni yozamiz.


#pragma omp parallel
{
printf("Salom dunyo... mavzudan = %d\n", omp_get_thread_num());
}
Yuqorida keltrilgan 1-rasmga ko'ra, kompilyator parallel mintaqalar kodiga duch kelganidan so'ng, asosiy TID = 0 (identifikatori 0 ga ega bo'lgan oqim ) ko'rsatilgan oqimlar soniga bog'lanadi. Bu yerda u 5 ta oqimga bo'linadi, chunki OMP_NUM_THREADS=5 buyrug'i yordamida bajariladigan oqimlar sonini 5 deb ishga tushiramiz. Parallel mintaqadagi butun kod bir vaqtning o'zida barcha oqimlar tomonidan bajariladi. Parallel hudud tugagach, barcha oqimlar asosiy (TID = 0) oqimga birlashtiriladi.
#include
int main(int argc, char* argv[])
{
// ketma-ketlik dastur kodlari
#pragma omp parallel { //parallellashtrishning boshlanishi
printf("Hello World... from thread = %d\n", omp_get_thread_num());
}
// parallellashtrishning tugashi
}



1-rasm. OpenMP ishlashimadi
11 Mamalatifov Sardor Mansur o'g'li 𝑭 = (̅𝒂𝒄+ 𝒂𝒃/𝟐 ) + (𝒂 + 𝒂𝒄̅)

Download 150.89 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling