русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Виртуальные топологии. Виды виртуальных топологий. Основные функции для работы с виртуальными топологиями.


Дата добавления: 2015-06-12; просмотров: 729; Нарушение авторских прав


В случае коллективных взаимодействий и взаимодействий

Point_to_point

(gather,Scatter,

Bcast,Reduse)

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

Различают два вида топологии: 1)декартовые топологии 2)топологии графа

Размерности устанавливаются так, чтобы быть как можно ближе друг к другу в соотношении со специальным алгоритмом. Если в элементе мало, большее, то функция не будет модулировать количество узлов в измерении i.

Int MPI_cart_coords (MPI_comm comm,

Int rank,

Int maxdims,

Int x cords);

Отображение обратное по отношению к MPI_cart_rank

Функция вычисляет координаты данного процесса в текущей топологии по его рангу.

Аргументы:comm –коммуникатор с декартовой топологией, rank – ранг процесса, maxdims – количество измерений в топологии, cords – массив координат в процессах.

 

Функция смещения, определяет ранг процесса, смежному данному в заданной топологии.

int MPI_Cart_create (MPI_Comm comm_old, int ndims, int *dims, int *periods, int reorder, MPI_Comm *comm._cart);

1)comm_old – входной коммуникатор

2)число размерности топологии.

3)целочисленные массив размерностью ndims, определяющий количество процессов в каждом измерении

4)целочисленный массив, размером ndims, элементы который определяет периодичность или не периодичность (замкнутость или открытость) для каждого измерения. Периодичность определяется значением TRUE, не периодичность – значением FALSE.

5)признак того могут ли быть перенумерованы ранги процессов если TRUE или не могут быть, если FALSE

6)новый коммуникатор

 

int MPI_Dims_create(int nnodes, int ndims, int *dims);

1)количество узлов

2)мерность декартовой топологии



3)целочисленный массив, определяющий количество узлов в каждом измерении.

Функция помогает пользователю распределить процессы по направлению координат в зависимости от числа процессов в группе.

 

Функция приема-передачи

int MPI_Sendrecv(void *sendbuf ,//адрес буфера передаваемых данных

int sendcount,//число переданных элементов

MPI_Datatype sendtype,//тип переданных элементов данных

int dest,//ранг получателя

int sendtag,//таг передаваемого сообщения

void *recvbuf,//адрес буфера приема данных

int recvcount,//количество принимаемых элементов данных

MPI_Datatype recvtype,//тип данных, принимаемых элементов данных.

int sourse,//ранг отправителя.

int recvtag,//таг принимаемого сообщения

MPI_Comm comm.,//коммуникатор

MPI_Status *status //статус сообщения);

Топология графа позволяет создавать любые, в том числе и нерегулярные связи между процессами.

Функция создания топологии графа

int MPI_Graph_create(MPI_Comm commold,//входной коммуникатор

int nnodes,//количество узлов графа

int *index,//целочисленный массив узлов графа

int *edges,//описание ребер графа

int reorder,//признак, определяющий будут ли ранги узлов переупорядочиваться

MPI_Comm *commgraph//новая топология);



<== предыдущая лекция | следующая лекция ==>
MPI: назначение и организация пакета MPI, принципы построения программ для MPI. Классификация функций MPI. Функции MPI_BCAST, MPI_BARRIER, MPI_GATHER, MPI_SCATTER. | От автора


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.