Parallel dasturlash sessiya savollari


Download 21.71 Kb.
bet2/2
Sana03.11.2023
Hajmi21.71 Kb.
#1742637
1   2
Bog'liq
PARALLEL DASTURLASH SESSIYA SAVOLLARI

Kommunikator-- MPI_Comm tipidagi ob'ekt bo'lib, u xabar almashishi mumkin bo'lgan dastur tomonidan ishga tushirilgan parallel jarayonlar guruhining identifikatoridir. Kommunikator xabar almashinadigan barcha funktsiyalar uchun argumentdir. Kommunikator aloqa muhitidir.

  • Kommunikatorlar oldindan belgilangan -MPI_Comm turiga ega.

  • Dastur ishga tushganda, barcha jarayonlar MPI_COMM_WORLD kommunikatorida ishlaydi.

  • U har doim mavjud va MPI dasturining barcha ishlaydigan jarayonlarining o'zaro ta'siri uchun xizmat qiladi.

  • Dastur boshlanishida faqat bitta joriy jarayonni o'z ichiga olgan MPI_COMM_SELF kommunikatori va hech qanday jarayonlarni o'z ichiga olmaydigan MPI_COMM_NULL kommunikator mavjud.

    --Jarayon raqami va uni aniqlash funksiyasi.


    Jarayon raqami manfiy bo'lmagan butun son bo'lib, har bir jarayonning o'ziga xos atributidir.

    Ixtiyoriy funksiya tuzing va bu funksiyani bir nechta jarayonlar orqali parallel ravishda ishga tushirish dasturini tuzing.


    /*#include
    #include
    using namespace std;
    void print()
    {
    cout <<"Mirzayev Nodirbek";
    }
    int main(int argc, char *argv[])
    {
    MPI_Init(&argc, &argv);
    print();
    MPI_Finalize();

    return 0;


    }*

    Ikki sonning o’rta arifmetigini hisoblovchi funksiya tuzing va bu funksiyani bir nechta jarayonlar orqali parallel ravishda ishga tushirish dasturini tuzing.

    #include
    #include
    using namespace std;

    void a(int a,int b)


    {
    cout<<"orta arifmatigi="<<(a+b)/2;
    }
    int main( int argc,char*argv[]){

    MPI_Init(&argc,&argv);


    {
    a(5,6);
    } }
    OpenMP kutubxonasidan foydalanib o'z ismingizni logic protsessorlar soni nechta bo'lsa shuncha marotaba ekranga chiqarish dasturini tuzing.

    #include


    #include
    using namespace std;
    int main()
    {
    #pragma omp parallel
    {
    cout << omp_get_thread_num()<< "Nodirbek"<< endl;
    }
    return 0;
    }

    OpenMP kutubxonasidan foydalanib o'z ismingizni n ta oqim orqali ekranga chiqarish dasturini tuzing.

    #include
    #include
    using namespace std;
    int main()
    {
    int n;
    cout << "Nechta oqim kiritasiz="; cin>> n;
    #pragma omp parallel num_threads(n)
    {
    cout <<"Bunyodbek" << endl;
    }
    }

    Hello nomli funksiya yarating va bu funksiya 1 dan 10 gacha bo’lgan sonlarni ekranga chiqarsin va bu funksiyani main funksiyasi ichida n ta oqim orqali bajaring.(OpenMP kutubxonasidan foydalaning).


    #include
    #include
    using namespace std;
    void hello(){
    int n;
    for (int i=1; i<=10; i++){
    cout<}
    int main(){
    #pragma omp parallel num_threads(n)
    {
    hello();
    }

    Download 21.71 Kb.

    Do'stlaringiz bilan baham:
  • 1   2




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