Чтение онлайн

на главную - закладки

Жанры

Параллельное и распределенное программирование на С++
Шрифт:

MPI_Cart_create

(MPI_Comm CommOld, int NDims, int *Dims, int *Periods, int Reorder, MPI_Comm *CommCart)

Создает новый коммуникатор, к которому присоединяется топологическая информация

int

MPI_Cart_sub

(MPI_Comm Comm, int *RemainDims, MPI_Comm *CommNew);

Делит коммуникатор на подгруппы, которые образуют декартовы подсистемы более низкой размерности

int

MPI_Cart_shift

(MPI_Comm Comm, int Direction, int Display,int *Source,int *Destination);

Считывает

смещенные ранги источника и приемника при заданном направлении и величине смещения

int

MPI_Cart_map

(MPI_Comm CommOld, int NDims, int *Dims, int *Periods, int *Newrank);

Преобразует процесс в декартову топологическую информацию

int

MPI_Cart_get

(MPI_Comm Comm, int MaxDims, int *Dims, int *Periods, int *Coords);

Возвращает декартову топологическую информацию, связанную с коммуникатором

int

MPI_Cart_coords

(MPI_Comm Comm, int Rank, int MaxDims, int *Coords);

Вычисляет координаты процесса в декартовой топологии при заданном ранге в группе

int

MPI_Comm_create

(MPI_Comm Comm, MPI_Group Group, MPI_Comm *CommOut) ;

Создает новый коммуникатор

int

MPI_Comm_rank

(MPI_Comm Comm, int *Rank ) ;

Вычисляет и возвращает ранг вызывающего процесса в коммуникаторе

int

MPI_Cart_rank

(MPI_Comm Comm, int *Coords, int *Rank );

Вычисляет и возвращает ранг процесса в коммуникаторе при заданном декартовом местоположении

int

MPI_Comm_compare

(MPI_Comm Comm1, MPI_Comm Comm2, int *Result);

Сравнивает два коммуникатора Comm1 и Comm2

int

MPI_Comm_dup

( MPI_Comm CommIn, MPI_Comm *CommOut) ;

Дублирует уже существующий коммуникатор со всей его кашированной информацией

int

MPI_Comm_free

( MPI_Comm *Comm) ;

Отмечает объект коммуникатора как освобожденный

int

MPI_Comm_group

( MPI_Comm Comm, MPI_Group *Group);

Получает доступ к группе, связанной с заданным коммуникатором

int

MPI_Comm_size

( MPI_Comm Comm, int *Size);

Вычисляет и возвращает размер группы, связанной с заданным коммуникатором

int

MPI_Comm_split

(MPI_Comm Comm, int Color,int Key,MPI_Comm *CommOut) ;

Создает новые коммуникаторы на основе цветов и ключей

int

MPI_Comm_test_inter

( MPI_Comm Comm, int *Flag);

Определяет,

является ли коммуникатор inter-коммуникатором

int

MPI_Comm_remote_group

( MPI_Comm Comm, MPI_Group *Group);

Получает доступ к удаленной группе, связанной с заданным inter-коммуникатором

int

MPI_Comm_remote_size

( MPI_Comm Comm, int *Size);

Вычисляет и возвращает размер удаленной

группы, связанной с заданным inter-

коммуникатором

Анатомия MPI-задачи

На рис.9.1 представлена каркасная MPI-программа. Задачи, выполняемые этой программой, просто сообщают свои ранги MPI-задаче с нулевым рангом. Каждая MPI-программа должна иметь по крайней мере функции MPI_Init и MPI_Finalize. Функция MPI_Init инициализирует MPI-среду для вызывающей задачи, а функция MPI_Finalize освобождает ресурсы этой MPI-задачи. Каждая MPI-задача должна вызвать функцию MPI_Finalize до своего завершения. Обратите вни м ание на обращения к функция м MPI_COMM_rank HMPI_COMM_Size . Они используются для получения значений ранга и количества процессов, которые принадлежат MPI-приложению. Эти функции вызываются большинством MPI-приложений. Вызов же остальных MPI-функций зависит от конкретного приложения. MPI-среда поддерживает более 300 функций (подробная информация представлена в соответствующей документации).

Рис. 9.1. MPI-программа

Использование шаблонных функций для представления MPI-задач

Шаблоны функции позволяют обоб щ ать процедуры для любо г о типа данных. Рассмотрим процедуру умножения, которая работает для любо г о типа данных (точнее, для типов данных, для которых операция умножения имеет смысл),

template<class T> T multiplies(T X, T Y) {

return( X * Y);

}

Для такой шаблонной функции, как эта, используются необходимые пара м етры дл я типа Т. Пара м етр T означает некоторый тип данных, который будет реально ***казан при реализации это г о шаблона. Так, мы можем реализовать функцию multiplies следую щ им образом.

Поделиться:
Популярные книги

Тройняшки не по плану. Идеальный генофонд

Лесневская Вероника
Роковые подмены
Любовные романы:
современные любовные романы
6.80
рейтинг книги
Тройняшки не по плану. Идеальный генофонд

Барон играет по своим правилам

Ренгач Евгений
5. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Барон играет по своим правилам

Завод-3: назад в СССР

Гуров Валерий Александрович
3. Завод
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Завод-3: назад в СССР

Секретарь лорда Демона

Лунёва Мария
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Секретарь лорда Демона

Отец моего жениха

Салах Алайна
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Отец моего жениха

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10

Я тебя не отпущу

Коваленко Марья Сергеевна
4. Оголенные чувства
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Я тебя не отпущу

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Девочка из прошлого

Тоцка Тала
3. Айдаровы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Девочка из прошлого

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Хозяйка дома на холме

Скор Элен
1. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка дома на холме

Жена проклятого некроманта

Рахманова Диана
Фантастика:
фэнтези
6.60
рейтинг книги
Жена проклятого некроманта

Имя нам Легион. Том 9

Дорничев Дмитрий
9. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 9