Общие сведения.
Parsytec Power X`plorer имеет 8 процессоров.МВС – многопроцессорная вычислительная система.
У каждого процессора есть номер и три координаты
Typede struct {
int MyProcID; // номер
int MyX; // координата по оси X
int MyY; // координата по оси Y
int MyZ; // координата по оси Z
int nProcs; // общее число процессоров
int DimX; // количество процессоров по оси X
int DimY; // количество процессоров по оси Y
int DimZ; // количество процессоров по оси Z
} RootProc_t;
Эти характеристики однозначно определяют процессор. Эта структура прописана в заголовочном файле sys/root.h
Какие значения могут принимать характеристики процессора?
MyProcID = 0,1,2,3,…,nProcs – 1 (т.к. с нуля)
MyX = 0,1,2,3…,DimX-1
MyY = 0,1,2,3…,DimY-1
MyZ = 0,1,2,3…,DimZ-1
nProcs 1,2,3,…
DimX = 1,2,3,…
DimY = 1,2,3,…
DimZ = 1,2,3,…
Как эти значения связаны между собой?
nProcs = DimX * DimY * DimZ
MyProcID = MyZ * DimX * DimY + MyY * DimX + MyX
Физически все процессоры соединены в решётку
квази – «псевдо», «якобы»
DimX = 5
DimY = 4
DimZ = 1
nProcs = 20
MyZ = 0
Характеристика процессора осуществляется следующим образом:
RootProc_t * ProcRoot;
MyProcID = GET_Root()->ProcRoot->MyProcID;
int MyProcID, nProcs;
int MyX,MyY,MyZ;
int DimX,DimY,DimZ;
MyX = GET_ROOT()->ProcRoot ->MyX; (аналогично для MyY и MyZ)
#define PC_MyProcID GET_ROOT()->ProcRoot->MyProcID
#define PC_nProcs GET_ROOT()->ProcRoot->nProcs
#define PC_MyX GET_ROOT()->ProcRoot->MyX
#define PC_DimX GET_ROOT()->ProcRoot->DimX
аналогично для MyY, MyZ, DimY, DimZ
характеристики программируются следующим образом:
MyProcID = PC_MyProcID;
#include <sys/root.h>
#include <sys/param.h>
#include <stdio.h>
Установка каналов связи между процессорами
LinkCB_t * PrewLink;
LinkCB_t * NextLink;
Прототип функции установки каналов связи:
LincCB_t * ConnectLink (int Processor, int RequestID, int & error)
Processor – номер процессора, с которым устанавливают связь;
RequestID – идентификатор запроса на установку данной связи (должен совпадать у соединяемых процессоров);
Error – адрес переменной целого типа куда записывается возможная ошибка.
Функция возвращает идентификатор канала связи
Пример: Установить канал связи с предыдущим и последующим процессором по оси x:
LincCB_t * PrewLink, * NextLink; int error;
PrewLink = ConnectLink (MyProcID-1,77,& error);
NextLink = ConnectLink (MyProcID+1,88,& error);
Установка каналов связи между процессорами программируется раздельно в соединяемых процессорах. В каждом процессоре указывается номер процессора, с которым устанавливается связь, и идентификатор запроса на установку канала связи. Если один процессор вышел на функцию установки канала связи, то он ждёт пока другой процессор выйдет на свою функцию установки связи. Неправильное программирование установки канала связи ведёт к бесконечному ожиданию.
- Содержание курса
- Общие сведения.
- Топологии Виды топологий
- Программирование «Трубы»
- Программирование «Звезды»
- Программирование «Клика»
- Синхронный обмен данными
- Функции синхронного обмена данными
- Примеры:
- Задание 1:
- Задание 2:
- Задание 3:
- Асинхронный обмен данными
- Функции необходимые для асинхронного обмена данными
- Пример:
- Определение времени вычисления на Parsytec.
- Определение времени в программе
- Структура компьютера
- Константы, типы данных, структуры mpi
- Тип данных mpi_Datatype
- Предопределённые константы
- Сообщения
- Функции mpi
- Функция передачи данных с блокировкой
- Дополнительные функции
- Виды параллелизма Геометрический (распараллеливание по пространству)
- Функциональный (распараллеливание по процессам)
- Конвейерный
- Параллелизм типа принятия коллективного решения
- Ускорение и эффективность вычислений на мвс
- Метод Рунге-Кутта 4
- 2. Расчётные формулы:
- 3. Алгоритм распараллеливания.
- Метод прогноза коррекции
- 2. Расчётные формулы
- 3. Алгоритм распараллеливания.
- 4. Ускорение вычислений.
- 4. Ускорение и точность вычислений.
- Решение уравнений в частных производных
- Колебания мембраны
- 2. Расчетные формулы
- Решение стационарных уравнений на мвс
- 2. Расчётные формулы
- Алгоритм распараллеливания.
- Ускорение вычислений
- Оптимизация на мвс
- Расчётные формулы
- Алгоритм распараллеливания
- Ускорение вычислений.