MPI_Comm_size(MPI_Comm kommunikator, int* hajmi) - qaytaradi joriy kommunikatorning o'lchami. Bizning misolimizda kommunikator
MPI_COMM_WORLD barcha jarayonlarni qamrab oladi, shuning uchun bu chaqiruv kerak
Machine Translated by Google
ishga tushirishda ko'rsatilgan jarayonlar sonini qaytaring buyruq qatori dasturlari.
MPI_Comm_rank(MPI_Comm kommunikator, int* rank) - qaytaradi kommunikatordagi jarayonning darajasi. Kommunikator ichidagi har bir jarayon noldan boshlab ortib boruvchi daraja beriladi. Jarayon reytingi
asosan yuborish va qabul qilishda ularni aniqlash uchun ishlatiladi xabarlar. Ko'pgina dasturlar boshqa funktsiyadan ham foydalanadi: MPI_Get_processor_name(char* name, int* name_length) qaytaradi jarayon ishlayotgan protsessorning haqiqiy nomi. Oxirgi
ushbu dasturdagi qo'ng'iroq:
MPI_Finalize()
MPI_Finalize MPI muhitini tozalash uchun ishlatiladi.
MPI yuborish va qabul qilish
Xabarlarni yuborish va qabul qilish ikkita asosiy tushunchadir
MPI. Deyarli har bir MPI funktsiyasi yordamida amalga oshirilishi mumkin
asosiy qo'ng'iroqlarni yuborish va qabul qilish MPI xabarlarini qo'ng'iroq qilish va qabul qilish
quyidagicha ishlang. A jarayoni barcha kerakli narsalarni to'playdi
maÿlumotlarni B jarayoni uchun buferga . Maÿlumotlar buferga oÿrnatilgandan soÿng, aloqa qurilmasi (ko'pincha tarmoq) marshrutlash uchun javobgardir
to'g'ri joyga xabarlar. Xabarning joylashuvi daraja bilan belgilanadi
jarayon. Ba'zida A jarayoni juda ko'p yuborishi mumkin bo'lgan holatlar mavjud turli xabar turlari B. o'rniga B o'tishi kerak
ushbu xabarlarni farqlash uchun qo'shimcha chora-tadbirlar, MPI imkon beradi jo'natuvchilar va qabul qiluvchilar xabar identifikatorlarini ham belgilaydi
xabar ( teglar sifatida tanilgan ). Faqat B jarayoni so'ralganda ma'lum bir teg raqami bilan xabar, turli teglar bilan xabarlar bo'ladi
B ular uchun tayyor bo'lgunga qadar tarmoq tomonidan buferlanadi . MPI ni ko'rib chiqing
yuborish va qabul qilish funktsiyalari.
Machine Translated by Google
Do'stlaringiz bilan baham: |