Организация и функционирование виртуальных компьютерных сетей



Download 52,48 Mb.
bet8/16
Sana31.12.2021
Hajmi52,48 Mb.
#261161
TuriДипломная работа
1   ...   4   5   6   7   8   9   10   11   ...   16
Dekart topologiyasi

Dekart almashinuvi topologiyalarini yaratish va o'zgartirish operatsiyalari bilan tanishaylik. MPI_Cart_create subroutine yangi kommunikatorni yaratadi, bu esa kommutatorning dastlabki kartezian topologiyasini beradi:

int MPI_Cart_create (MPI_Comm comm_old, int ndims, int * dims, int * period, int reorder, MPI_Comm * comm_cart)

MPI_Cart_create (comm_old, ndims, dimlar, nuqtalar, tartibni o'zgartirish, comm_cart, ierr)

Kirish parametrlari:

• comm_old - original kommunikator;

• ndims - dekartli panjarasining o'lchami;

• dims - har bir o'lchovdagi jarayonlar sonini ko'rsatuvchi ndims elementlaridan tashkil topgan butun sonli massiv;

• periods - panjaraning har bir o'lchov bo'ylab davriy (to'g'ri) bo'lishini aniqlaydigan ndims elementlarining mantiqiy massivi;

• reorder - agar ushbu parametr qiymati "rost" bo'lsa, tizimga jarayonlarni raqamlash tartibini o'zgartirishga ruxsat beriladi.

Dekart topologiyasining tuzilishi haqidagi ma'lumotlar ndims, dims va period parametrlarida mavjud.

MPI_Cart_create - bu kollektiv operatsiya (bu subroutine dekart topologiyasi bilan ta'minlangan kommunikator tomonidan barcha jarayonlar tomonidan chaqirilishi kerak).

Virtual topologiyani yaratgandan so'ng, siz tegishli protsessual manzillar sxemasidan foydalanishingiz mumkin, ammo bu uchun uning dekart koordinatalari va aksincha, protsessor darajasini qayta hisoblash kerak. MPI_Cart_coords pastki dasturidan foydalanib, jarayonning dekartli koordinatalarini guruhdagi darajasi bo'yicha aniqlashingiz mumkin:

int MPI_Cart_coords (MPI_Comm comm, int rank, int maxdims, int * coords)

MPI_Cart_coords (comm, rank, maxdims, coords, ierr)

Kirish parametrlari:

• comm - dekart topologiyasi bilan kommunikator;

• rank – comm dagi jarayon rangi;

• maxdims - chaqiruv dasturidagi koordinatalar vektorining uzunligi.

Ushbu qism dasturining chiqish parametri - bu jarayonning dekart koordinatalarini o'z ichiga olgan bir o'lchovli butun massiv koordinatalari (uning o'lchami ndims).

MPI_Cart_rank pastki dasturi teskari ta'sirga ega. Uning yordami bilan siz jarayonning martabasini (rangini) kommunikator comm-dagi dekart koordinatalari bo'yicha aniqlay olasiz:

int MPI_Cart_rank (MPI_Comm comm, int * coords, int * martabali)

MPI_Cart_rank (kom, koordinatlar, daraja, ierr)

cords kirish parametrlari - bu jarayonning dekart koordinatalarini belgilaydigan ndims o'lchamdagi butun sonli massiv.

Misol

int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int *coords)



MPI_Cart_coords(comm, rank, maxdims, coords, ierr)

#include "mpi.h";

#include ;

int main(int argc,char *argv[])

{

MPI_Comm grid_comm;



int dims[2];

int periodic[2];

int reorder = 1, q = 5, ndims = 2, maxdims = 2;

int coordinates[2];

int my_grid_rank;

int coords[2];

MPI_Comm row_comm;

dims[0] = dims[1] = q;

periodic[0] = periodic[1] = 1;

coords[0] = 0; coords[1] = 1;

MPI_Init(&argc, &argv);

MPI_Cart_create(MPI_COMM_WORLD, ndims, dims, periodic, reorder, &grid_comm);

MPI_Comm_rank(grid_comm, &my_grid_rank);

MPI_Cart_coords(grid_comm, my_grid_rank, maxdims, coordinates);

printf("Process rank %i has coordinates %i %i\n", my_grid_rank, coordinates[0], coordinates[1]);

MPI_Finalize();

return 0;

}

Comm bilan bog'langan dekartian topologiyasi haqida ma'lumotni MPI_Cart_get qism dasturi yordamida olish mumkin:



int MPI_Cart_get(MPI_Comm comm, int maxdims, int *dims, int *periods, int *coords)

MPI_Cart_get(comm, maxdims, dims, periods, coords, ierr)

maxdims kirish parametrlari dims, perods va vectors massivlarining uzunligi va natijalari:

• dims - har bir o'lchov uchun jarayonlar sonini ko'rsatadigan butun sonli massiv;

• periods - har bir o'lchov uchun davriylikni (agar panjara davriy bo'lsa to'g'ri) aniqlaydigan mantiqiy qiymatlar qatori;

• coords - bu qism dasturni chaqiradigan jarayonning dekartli koordinatalarini belgilaydigan butun sonli massiv.




Download 52,48 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   ...   16




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish