• MPI_Errandler_set
  • Sharov rashiov nomidagi samarqand davlat




    Download 435,82 Kb.
    bet9/18
    Sana07.02.2024
    Hajmi435,82 Kb.
    #152842
    1   ...   5   6   7   8   9   10   11   12   ...   18
    Bog'liq
    Mustaqil ishi Xakimov Allamurod (3)

    MPI_Wtick funksiyasi
    MPI kutubxonasiga tegishli barcha funksiyalarning nomlari, ma'lumotlar turlari, konstantalar va hokazolar MPI_ prefiksi bilan boshlanadi va mpi.h sarlavha faylida tasvirlanadi. Barcha funksiyalar MPI_Wtime va MPI_Wtick funksiyalardan tashqari barchasi int tipida qaytish turiga ega va muvaffaqiyatga erishilganda xato kodi yoki MPI_SUCCESS qaytaradi. Biroq, xato bo'lsa, uni chaqirgan funksiyadan qaytishdan oldin, dasturni g'ayritabiiy tarzda tugatadigan standart xato ishlov beruvchisi chaqiriladi. Shuning uchun, qaytish qiymatini tekshirish mantiqiy emas. Standart xato ishlov beruvchini almashtirish mumkin (MPI_Errandler_set funksiyasidan foydalangan holda), lekin MPI standarti dastur xatolikdan keyin ishlashni davom ettirishiga kafolat bermaydi. Demak, bu ham odatda mantiqiy emas.
    MPI_Wtick MPI (Message Passing Interface) standartida ishlatiladigan bir funksiya. Bu funksiya, ishlab chiqarilgan dastur boshlanishidan (yoki bir narsani boshlashdan) boshlab o'tgan vaqtning chiziqsiz (tick) o'tishini olish uchun ishlatiladi.
    MPI dasturlarini to'plagan va ishga tushirgan paytida yoki dasturning bir qismini boshqarib turadigan parallel dasturlarda, har bir parallel ishni qanday qilib bajarilayotganligini, masalan, har bir processorning qanday vaqt harakat qilayotganligini o'rganish uchun ishlatiladi.
    Quyidagi usulda yozilgan bo'lishi mumkin:
    double MPI_Wtick(void);
    MPI_Wtick funksiyasi bir double qiymat qaytaradi, va bu qiymat o'tgan vaqtning "tick" (chiziqsiz o'tish) o'lchovini anglatadi. Natijada olish mumkinki, bu qiymat 0 dan katta vaqtning bir qismi, ya'ni, har bir "tick" o'tishni ifodalovchi son.
    MPI_Wtick funksiyasi ma'lumotlar tizimida yoki MPI implementatsiyasiga qarab farqli bo'lishi mumkin, ammo umumiy xususiyatlari MPI dasturlarida parallel vaqt o'lchash uchun ishlatiladigan barcha funksiyalardan biri hisoblanadi.
    Dastur kodi :

    #include


    #include "mpi.h"
    #include
    using namespace std;
    int main(int argc,char *argv[]){
    int x=1,y=2,z=3,M,len;
    int rank;
    float a1,a2,a3,b1,b2,b3,c1,c2;
    MPI_Status status;
    MPI_Init(&argc,&argv);
    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
    if(rank==0){
    a1=MPI_Wtick();
    x=pow(x,5);
    MPI_Send(&x,1,MPI_INT,4,5,MPI_COMM_WORLD);
    a2=MPI_Wtick()-a1;
    }
    if(rank==1){
    a3=MPI_Wtick();
    y=pow(y,5);
    MPI_Send(&y,1,MPI_INT,4,5,MPI_COMM_WORLD);
    b1=MPI_Wtick()-a3;
    }
    if(rank==2){
    b2=MPI_Wtick();
    z=pow(z,5);
    MPI_Send(&z,1,MPI_INT,4,5,MPI_COMM_WORLD);
    b3=MPI_Wtick()-b2;
    }

    if(rank==4){


    c1=MPI_Wtick();
    MPI_Recv(&M,1,MPI_INT,MPI_ANY_SOURCE,MPI_ANY_TAG,MPI_COMM_WORLD,&status);
    c2=MPI_Wtick()-c1;
    }
    cout<<"protsessor : "<MPI_Finalize();

    }
    Dastur natijasi :





    Download 435,82 Kb.
    1   ...   5   6   7   8   9   10   11   12   ...   18




    Download 435,82 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Sharov rashiov nomidagi samarqand davlat

    Download 435,82 Kb.