Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti kompyuter injiniringi ta’lim yo‘nalishi
Download 71.44 Kb.
|
OpenMP PAKET TARKIBINI VA ISHLASHINI O‘RGANISH
OpenMP da parallel bilan ishlash (natija: 1.9-rasm)
// OpenMP.cpp #include #define ARRAY_SIZE 100000000 #define ARRAY_VALUE 1231 using namespace std; int main() { //jarayon bajarilish vaqtini aniqlash uchun kerakli kalit so‘zlar double itime, ftime, exec_time; itime = omp_get_wtime(); omp_set_num_threads(4); int *arr = new int[ARRAY_SIZE]; std::fill_n(arr, ARRAY_SIZE,ARRAY_VALUE); #pragma omp parallel for for (int i = 0; i < ARRAY_SIZE; i++) { arr[i] = arr[i] / arr[i] + arr[i]/5-14; } // Jarayonga ketgan vaqtni hisoblash ftime = omp_get_wtime(); exec_time = ftime - itime; cout << “Sarflangan vaqt: “ << exec_time << endl; return 0; } Yuqorida keltirilgan natijalarga ko‘rib turgamnimizdek, OpenMP C/C++ da multi-threading(ko‘p-oqimlar)dan foydalanish bizga ko‘p vaqtni tejash imkonini beradi. Xulosa. Amaliy ish natijasi o'rnatilgan MicrosoftVisual Studio integratsiyalashgan dasturlash muhiti va unda OpenMP yordamida yaratilgan “Hello World!” loyihalari bo'ldi. Yaratilgan dastur matnni 4 marta aks ettiradi, chunki tizimda 4 ta oqim yaratilgan (ikki yadroli protsessorda har bir yadro uchun ikkita virtual oqim mavjud), ularning har biri turli xil ma'lumotlarni qayta ishlaydi va to'rtta oqimning har biri "printf" kamandasini bajardi. Amalda jarayonlarning bunday parallellashuvi tezroq bajarilishiga olib keladi. Ikkinchi berilgan komandaga ko'ra (1.7-rasm), oqimlar ketma-ketligi noto'g'ri: birinchi navbatda 1-oqim, keyin esa 0-oqim. Bu har bir oqim bitta vazifani turli xil tezligda bajarishini ko'rsatadi. Download 71.44 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling