Bajardi: Karimov I. Tekshirdi: Javliyev Sh. Kompyuter arxitekturasi fanidan 4-topshiriq


Download 417.36 Kb.
bet2/3
Sana28.12.2022
Hajmi417.36 Kb.
#1009103
1   2   3
Bog'liq
islom)

1.1-rasm. Quyidagi C dasturi printf() ifodasini o'z ichiga olgan parallel hudud ustidagi kompilyator direktivasini ko'rsatadi.

OpenMP texnologiyasining versiyalari



Versiya

Til

Ishlab chiqarilish
sanasi

1

OpenMP 4.5

C/C++/Fortran

2015-11-01

2

OpenMP 4.0

C/C++/Fortran

2013-07-01

3

OpenMP 3.1

C/C++/Fortran

2011-07-01

4

OpenMP 3.0

C/C++/Fortran

2008-05-01

5

OpenMP 2.5

C/C++/Fortran

2005-05-01

6

OpenMP 2.0c

C/C++

2002-03-01

7

OpenMP 2.0f

Fortran

2000-11-01

8

OpenMP 1,0c

C/C++

1998-10-01

9

OpenMP 1.0f

Fortran

1997-10-01

C++ dasturlash tilidan foydalangan xolda OpenMP ni qo`llagan xolatda kvadrat tenglamani yechish dasturini yozib ko`ramiz.(1.1-rasm)



1.2-rasm. C++ dasturlash tilidan foydalangan xolda OpenMP ni qo`llagan xolatda kvadrat tenglamani yechish.
1. Kutubxonalarni chaqirib olish ya’niy elon qilish.
2. #pragma omp parallel muhitini hosil qilish. Bu bo`lim haqida batafsil pastda ma`lumot berilgan.
3. Umumiy o`zgaruvchilarni elon qilish va diskremenantni xisoblash qismi.
4. Shartga tekshirgan xolatda dastur natijasini consulda chop etish.


Natija:

1.3-rasm. C++ dasturlash tilidan foydalangan xolda OpenMP ni qo`llagan xolatda kvadrat tenglamani yechish natija.



1.4-rasm.dev C++ dasturlash tilidan foydalangan xolda OpenMP ni qo`llagan xolatda printf funksiasidan foydalanish va barcha logik protssesorlarni bir vaqtda ishlatish.




#include ma omp parallel
{
printf ("Hello world! I'm thread %d out of %d threads.\n", omp_get_thread_num(), omp_get_num_threads());
}
return 0;
}
#pragma omp parallel
Tizimda yadrolarni qayta ishlaydigan ko'plab oqimlarni yaratadi. Shunday qilib, ikki yadroli tizim uchun ikkita oqim yaratiladi, to'rt yadroli tizim uchun to'rtta yaratiladi; va hokazo. Keyin barcha oqimlar bir vaqtning o'zida parallel hududni bajaradi. Har bir oqim parallel hududdan chiqqanda, u tugatiladi. OpenMP kod mintaqalarini parallel ravishda ishga tushirish uchun bir nechta qo'shimcha ko'rsatmalar beradi, shu jumladan parallellashtirish tsikllari.
Parallellashtirish bo'yicha ko'rsatmalarni taqdim etishdan tashqari, OpenMP ishlab chiquvchilarga parallelizmning bir nechta darajalaridan birini tanlash imkonini beradi. Masalan, ular oqimlar sonini qo'lda belgilashlari mumkin. Bundan tashqari, u ishlab chiquvchilarga ma'lumotlar oqimlar o'rtasida almashilganligini yoki oqim uchun shaxsiy ekanligini aniqlash imkonini beradi. OpenMP Linux, Windows va Mac OS X tizimlari uchun bir nechta ochiq manbali va tijorat kompilyatorlarida mavjud.



Download 417.36 Kb.

Do'stlaringiz bilan baham:
1   2   3




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