Parallel dasturlash savollar num threads optsiyasi G’afurov Ibrohim


Download 26.9 Kb.
bet4/4
Sana09.04.2023
Hajmi26.9 Kb.
#1346434
1   2   3   4
Bog'liq
Parallel dasturlash savollar

Reduction optsiyasi

  1. 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; }



  1. 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; }

  1. 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; }

  1. 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:
1   2   3   4




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