14-Topshiriq*. MPI-2: jarayonni dinamik yaratish 1. 1. MPI qo‘llab-quvvatlashi bilan Microsoft Visual Studio 2022 da mpi_dynamic loyihasini yarating (1-topshiriqqa qarang)..
2. Jarayonlarni dinamik ravishda yaratish uchun asosiy funksiya bilan tanishing:
int MPI_Comm_spawn (char *command, char **argv, int maxprogs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *intercomm, int *array_of_errcodes) – MPI_Comm_spawn commond bilan aniqlangan MPI dasturining bir xil nusxalarining maxprocsini ishga tushirishga, ular bilan aloqa o‘rnatishga va interkommunikatorni qaytarishga harakat qiladi. Yaratilgan jarayonlar bolalar deb ataladi va ularni yaratgan jarayonlar ota-onalar deb ataladi. Bolalarning ota-onalaridan alohida o‘zlarining MPI_COMM_WORLD bor. MPI_Comm_spawn funksiyasi comm uchun kollektivdir va avlodlarda MPI_Init chaqirilmaguncha tugamaydi. Xuddi shunday, bolalardagi MPI_Init barcha ota-onalar MPI_Comm_spawn chaqirmaguncha tugamaydi. Shu ma’noda, ota-onalarda MPI_Comm_spawn va bolalarda MPI_Init ota-onalar va bolalar jarayonlarining birlashishi bo‘yicha jamoaviy operatsiyani tashkil qiladi. MPI_Comm_spawn tomonidan qaytarilgan interkommunikator mahalliy guruhdagi asosiy jarayonlarni va uzoqlashtirilgan guruhdagi bolalar jarayonlarini o‘z ichiga oladi. Mahalliy va uzoqlashtirilgan guruhlardagi jarayonlarning tartibi ota-onalar uchun comm guruhi va bolalar uchun MPI_COMM_WORLD tartibi bilan bir xil. Ushbu interkommunikatorni bolada MPI_Comm_get_parent funksiyasi orqali olish mumkin.
3. MPI_Comm_spawn funksiyasidan foydalanib, nol jarayonida qo‘shimcha jarayonlarni yarating. Ushbu jarayonlar orasida hisob-kitoblarni taqsimlang.
4. Nolinchi jarayon yordamida hisoblash natijalarini to‘plang.
5. Ilovangizni kompilyatsiya qiling va ishga tushiring. Ma’lumotlar to‘g‘ri ekanligiga ishonch hosil qiling.
15-Topshiriq*. MPI-2: bir tomonlama aloqa 1. MPI qo‘llab-quvvatlashi bilan Microsoft Visual Studio 2022 da mpi_comm loyihasini yarating (1-topshiriqqa qarang).
2. “Oyna” bilan ishlashning asosiy funksiyalarini bilib oling: