Parallel dasturlash savollar num threads optsiyasi G’afurov Ibrohim
Download 26.9 Kb.
|
Parallel dasturlash savollar
Reduction optsiyasi
Ikkita butun tipdagi o’zgaruvchi yarating . openMP kutubxonasi tarkibidagi reduction optsiyasi yordamida va ‘+’ operatori orqali 3 ta parallel oqim ishlagan holda bu o’zgaruvchilarni birlashtiring . #include #include #include using namespace std; int main(){ int num1,num2; cout << "Birinchi son : "; cin >> num1; cout << "Ikkinchi son : "; cin >> num2; #pragma omp parallel reduction(+:num1) num_threads(3) { cout << "num1 ning boshlang’ich qiymati : " << num1 << endl; num1= num1 + num2; cout << "num1 ning keyingi qiymati: " << num1 << endl; } cout << "Ketma-ket soha = " << num1 << endl; return 0; } Ikkita haqiqiy n va m parametrga ega, openMP kutubxonasi tarkibidagi reduction optsiyasi yordamida m+n ta parallel oqim yordamida natijalarni ‘*’ operatori bilan birlashtiradigan funksiya yarating. #include #include using namespace std; void sum(float n, float m){ #pragma omp parallel reduction(*:n) num_threads(n+m) { cout << "n ning boshlang'ich qiymati " << n << endl; n = n* m; cout << "n ning keyingi qiymati: " << n << endl; } cout << "Ketma-ket soha = " << n << endl; } int main(){ sum(4.3, 2.0); return 0; } Ixtiyoriy sonlar generatori yordamida tanlangan ikki xonali sonni, openMP kutubxonasi tarkibidagi reduction optsiyasi yordamida ixtiyoriy tanlab olingan bir xonali songa ‘+’ operatori orqali birlashtiring. Dasturda 3 ta parallel oqimishlatilsin. #include #include #include using namespace std; int main(){ int n = rand()%100; cout << "Ixtitiyoriy tanlangan n : " << n << endl; #pragma omp parallel reduction(+:n) num_threads(3) { cout << "n ning boshlang'ich qiymati " << n << endl; n = n + rand()%10; cout << " n ning keyingi qiymati: " << n << endl; } cout << "Ketma-ket soha = " << n << endl; return 0; } Ikkita o’zgaruvchi yarating birinchisi “Parallel” so’zining uzunligini, ikkinchisi “dasturlash” so’zining uzunligini olsin. openMP kutubxonasi tarkibidagi reduction optsiyasi yordamida va ‘+’ operatori orqali 7 ta parallel oqim ishlagan holda “Parallel” ning uzunligiga “dasturlash” ning uzunligini birlashtiring. #include #include #include using namespace std; int main(){ string lesson=”Parallel”, lesson2=”dasturlash” ; int a = lesson.length(); cout << "uzunligi : " << a << endl; #pragma omp parallel reduction(+:a) num_threads(7) { cout << " a ning boshlang'ich qiymati " << a << endl; a = a + lesson2.length(); cout << "a ning keyingi qiymati: " << a << endl; } cout << "Ketma-ket soha = " << a << endl; return 0; } Download 26.9 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling