Параллельное программирование. Лекция 13a. Интеркоммуникаторы (MPI-2)
Институт математики, механики и компьютерных наук им.И.И.Воровича ЮФУ http://mmcs.sfedu.ru.
Лекции по параллельному программированию читает доцент кафедры алгебры и дискретной математики М.Э.Абрамян. В лекциях используется электронный задачник по программированию Programming Taskbook http://ptaskbook.com
Дополнительные материалы доступны по ссылке http://edu.mmcs.sfedu.ru/course/view....
Содержание: 00:00 Интеркоммуникаторы и их отличие от обычных коммуникаторов (интракоммуникаторов). Локальная и удаленная группа процессов. Функции MPI_Comm_remote_size, MPI_Comm_remote_group и MPI_Comm_test_inter. 08:12 Проблемы, возникающие при создании интеркоммуникатора, и способ их решения, основанный на процессах-представителях (leaders) из коммуникатора-посредника (peer). 15:14 Функция MPI_Intercomm_create для создания интеркоммуникатора, ее параметры local, local_leader, peer_comm, remote-leader. 19:51 Параметр tag ("метка безопасности") и выходной параметр intercomm. Другой способ обеспечения безопасности, основанный на использовании копии коммуникатора. 25:23 Пример создания и использования интеркоммуникатора: задание MPI8Inter9. Знакомство с заданием. 30:16 Этапы выполнения задания. Смысл дополнительного условия (о характеристиках первого процесса каждой половины процессов). Первый этап решения: создание новых интракоммуникаторов и вывод первой части результатов. 37:47 Второй этап решения: создание коммуникатора-посредника и объединение ранее созданных интракоммуникаторов в интеркоммуникатор. 45:06 Проверка правильности второго этапа решения с помощью вывода отладочной информации. Завершающий этап решения: обмен сообщениями между группами процессов интеркоммуникатора и вывод второй части результатов. 52:14 Средства для работы с интеркоммуникаторами в MPI-1 и MPI-2. Создание интеркоммуникаторов с помощью функции MPI_Comm_create (MPI-2). 58:04 Создание интеркоммуникаторов с помощью функции MPI_Comm_split (MPI-2). Особенности использования MPI_Comm_split для интеркоммуникаторов в системе MPICH. 1:04:25 Коллективные операции для интеркоммуникаторов (MPI-2). Особые значения параметра root для таких операций: MPI_ROOT и MPI_PROC_NULL.