Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Написати приклад створення комунікатора (новий не містить процеси 0,1).Содержание книги
Поиск на нашем сайте #include <stdio.h> #include <stdlib.h> #include <mpi.h> int main(int argc, char **argv) { int rank, size, newrank, newsize; MPI_Group oldgroup, group; MPI_Comm newcomm; int excl_ranks[] = {0,1}; MPI_Init(&argc, &argv); MPI_Comm_group(MPI_COMM_WORLD, &oldgroup); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Group_excl(oldgroup, 2, excl_ranks, &group); MPI_Comm_create(MPI_COMM_WORLD, group, &newcomm); char *message_buf = (char *) malloc(32); int i; if(newcomm!= MPI_COMM_NULL) { MPI_Comm_rank(newcomm, &newrank); MPI_Comm_size(newcomm, &newsize); } if(newrank == 0) { message_buf = "Hi new group"; } if(newcomm!= MPI_COMM_NULL) { MPI_Bcast(message_buf, 32, MPI_CHAR, newrank, newcomm); } for(i = 0; i < newsize; ++i) { if(newrank == i) { printf("MPI_COMM_WORLD: %d from %d. New comm: %d from %d. Message = %s\n", rank, size, newrank, newsize, message_buf); MPI_Comm_free(&newcomm); } } MPI_Group_free(&oldgroup); MPI_Group_free(&group); MPI_Finalize(); return 0; } Написати приклад створення комунікатора (новий містить тільки процеси 0,1).
#include <stdio.h> #include <stdlib.h> #include <mpi.h> int main(int argc, char **argv) { int rank, size, newrank, newsize; MPI_Group oldgroup, group; MPI_Comm newcomm; int excl_ranks[] = {0,1}; MPI_Init(&argc, &argv); MPI_Comm_group(MPI_COMM_WORLD, &oldgroup); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Group_incl(oldgroup, 2, excl_ranks, &group); MPI_Comm_create(MPI_COMM_WORLD, group, &newcomm); char *message_buf = (char *) malloc(32); int i; if(newcomm!=MPI_COMM_NULL) { MPI_Comm_rank(newcomm, &newrank); MPI_Comm_size(newcomm, &newsize); } if(newrank == 0) { message_buf = "Hi new group"; } if(newcomm!= MPI_COMM_NULL) { MPI_Bcast(message_buf, 32, MPI_CHAR, newrank, newcomm); } for(i = 0; i < newsize; ++i) { if(newrank == i) { printf("MPI_COMM_WORLD: %d from %d. New comm: %d from %d. Message = %s\n", rank, size, newrank, newsize, message_buf); MPI_Comm_free(&newcomm); } } MPI_Group_free(&oldgroup); MPI_Group_free(&group); MPI_Finalize();
return 0; } Загальна структура MPI програми. Отримання інформації про розмір комунікатора, ранг процесу. Комунікації точка-точка, прості блоковані обміни. 3. Обмiн за схемою естафетна палочка (кільце) функція MPI_Sendrecv. Типи даних MPI. Створення і використання структур в MPI. Пересилка прийом запакованих типiв даних. Прийом невідомих типів даних в MPI.. Комунікації точка-точка. Неблокуючі (асинхронні) передачі в MPI. 8. Точки синхронізації. Функція MPI_Bcast. 9. Колективні функції MPI_Gather, MPI_Scatter. 10.Операцiя згортки. Функція MPI_Reduce. Групи процесів та операції з ними. Комунікатори та операції з ними. Декатрова топологія в MPI. Топологія графа в MPI. 1. Написати приклад MPI програми котра надрукує номера процесів та імена процесорів на котрих працює. Навести команди компіляції та запуску MPI програми. 2. Написати приклад обміну між двома процесами з використанням функцій блокованого обміну. 3. Написати приклад обміну між парними та непарними процесами з використанням функцій блокованого обміну. 4. Написати приклад обміну між двома процесами з використанням функцій неблокуючого (асинхронного) обміну. 5. Написати приклад обміну між парними та непарними процесами з використанням функцій неблокуючого (асинхронного) обміну. 6. Написати приклад створення MPI структури з трьома полями. 7. Написати приклад пересилки прийому запакованих типiв даних 8. Написати приклад обміну між всіма процесами з використанням функції MPI_Bcast. 9. Написати приклад додавання квадратних матриць з використанням колективних функцій. 10.Написати приклад знаходження суми максимальних елементiв рядкiв матриці з використанням колективних функцій. 11. Написати приклад знаходження суми елементiв матриці з використанням функції MPI_Reduce. 12.Написати приклад знаходження максимума елементiв вектора з використанням функції MPI_Reduce. 13.Написати приклад створення комунікатора (новий не містить процеси 0,1). 14.Написати приклад створення комунікатора (новий містить тільки процеси 0,1). SIMULATE ;Система має 5 обслуговуючих каналів chas VARIABLE 100; закінчення часу роботи t_z VARIABLE 2; час бробки заяв gus VARIABLE 10; густина заявок GENERATE V$chas TERMINATE 1 GENERATE (Exponential(2,0,2/V$gus)) Chan1 GATE NU 1,Chan2 SEIZE 1 ADVANCE V$t_z RELEASE 1 TRANSFER,done Chan2 GATE NU 2,failed SEIZE 2 ADVANCE V$t_z RELEASE 2 TRANSFER,done done QUEUE done_count TRANSFER,ex failed QUEUE failed_count TRANSFER,ex ex TERMINATE
|
||
|
Последнее изменение этой страницы: 2017-01-20; просмотров: 457; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.008 с.) |