🗊Презентация Message Passing Interface

Нажмите для полного просмотра!
Message Passing Interface, слайд №1Message Passing Interface, слайд №2Message Passing Interface, слайд №3Message Passing Interface, слайд №4Message Passing Interface, слайд №5Message Passing Interface, слайд №6Message Passing Interface, слайд №7Message Passing Interface, слайд №8Message Passing Interface, слайд №9Message Passing Interface, слайд №10Message Passing Interface, слайд №11Message Passing Interface, слайд №12Message Passing Interface, слайд №13Message Passing Interface, слайд №14Message Passing Interface, слайд №15Message Passing Interface, слайд №16Message Passing Interface, слайд №17Message Passing Interface, слайд №18Message Passing Interface, слайд №19Message Passing Interface, слайд №20Message Passing Interface, слайд №21Message Passing Interface, слайд №22Message Passing Interface, слайд №23Message Passing Interface, слайд №24Message Passing Interface, слайд №25Message Passing Interface, слайд №26Message Passing Interface, слайд №27Message Passing Interface, слайд №28Message Passing Interface, слайд №29Message Passing Interface, слайд №30Message Passing Interface, слайд №31Message Passing Interface, слайд №32Message Passing Interface, слайд №33Message Passing Interface, слайд №34Message Passing Interface, слайд №35Message Passing Interface, слайд №36

Содержание

Вы можете ознакомиться и скачать презентацию на тему Message Passing Interface. Доклад-сообщение содержит 36 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





MPI
Описание слайда:
MPI

Слайд 2





Введение
Message Passing Interface (MPI, интерфейс передачи сообщений) — программный интерфейс (API) для передачи информации, который позволяет обмениваться сообщениями между процессами, выполняющими одну задачу.
Первая версия MPI разрабатывалась в 1993—1994 году, и MPI 1 вышла в 1994.
Описание слайда:
Введение Message Passing Interface (MPI, интерфейс передачи сообщений) — программный интерфейс (API) для передачи информации, который позволяет обмениваться сообщениями между процессами, выполняющими одну задачу. Первая версия MPI разрабатывалась в 1993—1994 году, и MPI 1 вышла в 1994.

Слайд 3





Стандарты MPI
MPI 1 - 1994.
MPI 1.1 -12 июня 1995 года
MPI 2.0 - 18 июля 1997 года
MPI 2.1 - сентябрь 2008 года
MPI 2.2 - 4 сентября 2009 года
MPI 3.0  - 21 сентября 2012 года
Описание слайда:
Стандарты MPI MPI 1 - 1994. MPI 1.1 -12 июня 1995 года MPI 2.0 - 18 июля 1997 года MPI 2.1 - сентябрь 2008 года MPI 2.2 - 4 сентября 2009 года MPI 3.0 - 21 сентября 2012 года

Слайд 4





Реализации MPI
MPICH — одна из самых распространенных реализация MPI, работает на UNIX и Windows-системах 
Open MPI — ещё одна свободная реализация MPI. Основана на более ранних проектах FT-MPI, LA-MPI, LAM/MPI и PACX-MPI. 
MPI/PRO for Windows NT — коммерческая реализация для Windows NT
Intel MPI — коммерческая реализация для Windows / Linux
Microsoft MPI входит в состав Compute Cluster Pack SDK. Основан на MPICH2, но включает дополнительные средства управления заданиями. Поддерживается спецификация MPI-2.
HP-MPI — коммерческая реализация от HP
SGI MPT — платная библиотека MPI от SGI
Mvapich — свободная реализация MPI для Infiniband
Oracle HPC ClusterTools — бесплатная реализация для Solaris SPARC/x86 и Linux на основе Open MPI
MPJ — MPI for Java
MPJ Express — MPI на Java
Описание слайда:
Реализации MPI MPICH — одна из самых распространенных реализация MPI, работает на UNIX и Windows-системах Open MPI — ещё одна свободная реализация MPI. Основана на более ранних проектах FT-MPI, LA-MPI, LAM/MPI и PACX-MPI. MPI/PRO for Windows NT — коммерческая реализация для Windows NT Intel MPI — коммерческая реализация для Windows / Linux Microsoft MPI входит в состав Compute Cluster Pack SDK. Основан на MPICH2, но включает дополнительные средства управления заданиями. Поддерживается спецификация MPI-2. HP-MPI — коммерческая реализация от HP SGI MPT — платная библиотека MPI от SGI Mvapich — свободная реализация MPI для Infiniband Oracle HPC ClusterTools — бесплатная реализация для Solaris SPARC/x86 и Linux на основе Open MPI MPJ — MPI for Java MPJ Express — MPI на Java

Слайд 5


Message Passing Interface, слайд №5
Описание слайда:

Слайд 6


Message Passing Interface, слайд №6
Описание слайда:

Слайд 7


Message Passing Interface, слайд №7
Описание слайда:

Слайд 8


Message Passing Interface, слайд №8
Описание слайда:

Слайд 9


Message Passing Interface, слайд №9
Описание слайда:

Слайд 10


Message Passing Interface, слайд №10
Описание слайда:

Слайд 11





Настройка системы
Описание слайда:
Настройка системы

Слайд 12





В настройках проекта установить:
Дополнительные каталоги включаемых файлов:
$(MSMPI_INC);$(MSMPI_INC)\x86  
или 
$(MSMPI_INC);$(MSMPI_INC)\x64
Описание слайда:
В настройках проекта установить: Дополнительные каталоги включаемых файлов: $(MSMPI_INC);$(MSMPI_INC)\x86 или $(MSMPI_INC);$(MSMPI_INC)\x64

Слайд 13


Message Passing Interface, слайд №13
Описание слайда:

Слайд 14





В меню «Компоновщик»:
В меню «Компоновщик»:
Добавить в «Дополнительные зависимости»  файл msmpi.lib
Добавить в «Дополнительные каталоги библиотек» ссылку на папку:
$(MSMPI_LIB32)
Или
$(MSMPI_LIB64)
Описание слайда:
В меню «Компоновщик»: В меню «Компоновщик»: Добавить в «Дополнительные зависимости» файл msmpi.lib Добавить в «Дополнительные каталоги библиотек» ссылку на папку: $(MSMPI_LIB32) Или $(MSMPI_LIB64)

Слайд 15


Message Passing Interface, слайд №15
Описание слайда:

Слайд 16





Если разрядность программы не соответствует разрядности подключенных библиотек, то возникнут такие ошибки:
Если разрядность программы не соответствует разрядности подключенных библиотек, то возникнут такие ошибки:
LNK1120: 5 unresolved externals
LNK2019: unresolved external symbol _MPI_Comm_rank@8 referenced in function _main
LNK2019: unresolved external symbol _MPI_Finalize@0 referenced in function _main
LNK2019: unresolved external symbol _MPI_Init@8 referenced in function _main
LNK2019: unresolved external symbol _MPI_Recv@28 referenced in function _main
Описание слайда:
Если разрядность программы не соответствует разрядности подключенных библиотек, то возникнут такие ошибки: Если разрядность программы не соответствует разрядности подключенных библиотек, то возникнут такие ошибки: LNK1120: 5 unresolved externals LNK2019: unresolved external symbol _MPI_Comm_rank@8 referenced in function _main LNK2019: unresolved external symbol _MPI_Finalize@0 referenced in function _main LNK2019: unresolved external symbol _MPI_Init@8 referenced in function _main LNK2019: unresolved external symbol _MPI_Recv@28 referenced in function _main

Слайд 17





Первое приложение
Описание слайда:
Первое приложение

Слайд 18





Запуск приложения
На каждой машине запустить демон:
smpd -d



На управляющем узле выполнить команду запуска программы:
mpiexec  -hosts  КоличХостов  IP1  КолПроц1 
IP2  КолПроц2  … IPN  КолПроцN -wdir ПутьКПапкеСПрограммой   ИмяФайла.exe
Описание слайда:
Запуск приложения На каждой машине запустить демон: smpd -d На управляющем узле выполнить команду запуска программы: mpiexec -hosts КоличХостов IP1 КолПроц1 IP2 КолПроц2 … IPN КолПроцN -wdir ПутьКПапкеСПрограммой ИмяФайла.exe

Слайд 19





Запуск приложения
Пример строки запуска программы на 3-х хостах:
mpiexec  -hosts  3  192.168.0.2  2   192.168.0.3  2  127.0.0.1  3  -wdir  \\192.168.0.1\MPIProgram  Example.exe
Результат:
Hello world from processor one, rank 4 out of 7 processors
Hello world from processor one, rank 3 out of 7 processors
Hello world from processor two, rank 6 out of 7 processors
Hello world from processor two, rank 5 out of 7 processors
Hello world from processor quad, rank 2 out of 7 processors
Hello world from processor quad, rank 0 out of 7 processors
Hello world from processor quad, rank 1 out of 7 processors
Описание слайда:
Запуск приложения Пример строки запуска программы на 3-х хостах: mpiexec -hosts 3 192.168.0.2 2 192.168.0.3 2 127.0.0.1 3 -wdir \\192.168.0.1\MPIProgram Example.exe Результат: Hello world from processor one, rank 4 out of 7 processors Hello world from processor one, rank 3 out of 7 processors Hello world from processor two, rank 6 out of 7 processors Hello world from processor two, rank 5 out of 7 processors Hello world from processor quad, rank 2 out of 7 processors Hello world from processor quad, rank 0 out of 7 processors Hello world from processor quad, rank 1 out of 7 processors

Слайд 20





Общая схема работы MPICH на кластере
Описание слайда:
Общая схема работы MPICH на кластере

Слайд 21





Первое приложение
Описание слайда:
Первое приложение

Слайд 22





Константы
Описание слайда:
Константы

Слайд 23





Функции и константы
MPI_COMM_WORLD – все процессы (константа)
int MPI_Init( int* argc, char** argv)
int MPI_Finalize()
int MPI_Comm_size( MPI_Comm comm, int* size) – определить количество запущенных процессов:
	int size;
	MPI_Comm_size(MPI_COMM_WORLD, &size);
int MPI_Comm_rank( MPI_comm comm, int* rank) – определение номера процесса в группе
int rank;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
int MPI_Abort(MPI_Comm comm, int errorcode ) – аварийное завершение работы процессов
	MPI_Abort(MPI_COMM_WORLD,MPI_ERR_OTHER);
Описание слайда:
Функции и константы MPI_COMM_WORLD – все процессы (константа) int MPI_Init( int* argc, char** argv) int MPI_Finalize() int MPI_Comm_size( MPI_Comm comm, int* size) – определить количество запущенных процессов: int size; MPI_Comm_size(MPI_COMM_WORLD, &size); int MPI_Comm_rank( MPI_comm comm, int* rank) – определение номера процесса в группе int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); int MPI_Abort(MPI_Comm comm, int errorcode ) – аварийное завершение работы процессов MPI_Abort(MPI_COMM_WORLD,MPI_ERR_OTHER);

Слайд 24





Функции
int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int msgtag,   MPI_Comm comm) – передача сообщения
buf - адрес начала буфера посылки сообщения
count - число передаваемых элементов в сообщении
datatype - тип передаваемых элементов
dest - номер процесса-получателя
msgtag - метка сообщения
comm - идентификатор группы
#define N 10
…
int rank, buf[N];
…
MPI_Send(buf, N, MPI_INT, 1, 10, MPI_COMM_WORLD);
Описание слайда:
Функции int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int msgtag, MPI_Comm comm) – передача сообщения buf - адрес начала буфера посылки сообщения count - число передаваемых элементов в сообщении datatype - тип передаваемых элементов dest - номер процесса-получателя msgtag - метка сообщения comm - идентификатор группы #define N 10 … int rank, buf[N]; … MPI_Send(buf, N, MPI_INT, 1, 10, MPI_COMM_WORLD);

Слайд 25





Функции
int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int msgtag, MPI_comm comm, MPI_Status *status) – прием сообщения (блокирующая функция)
выходной параметр buf - адрес начала буфера приема сообщения
count - максимальное число элементов в принимаемом сообщении
datatype - тип элементов принимаемого сообщения
source - номер процесса-отправителя
msgtag - метка принимаемого сообщения
comm - идентификатор группы
выходной параметр status - параметры принятого сообщения
#define N 10
…
int rank, buf[N];
MPI_Status status;
…
MPI_Recv(buf, N, MPI_INT, 1, 10, MPI_COMM_WORLD, &status);
…
Описание слайда:
Функции int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int msgtag, MPI_comm comm, MPI_Status *status) – прием сообщения (блокирующая функция) выходной параметр buf - адрес начала буфера приема сообщения count - максимальное число элементов в принимаемом сообщении datatype - тип элементов принимаемого сообщения source - номер процесса-отправителя msgtag - метка принимаемого сообщения comm - идентификатор группы выходной параметр status - параметры принятого сообщения #define N 10 … int rank, buf[N]; MPI_Status status; … MPI_Recv(buf, N, MPI_INT, 1, 10, MPI_COMM_WORLD, &status); …

Слайд 26





Функции
int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status status) – проверка приемного буфера
source - номер процесса-отправителя
tag - метка сообщения
comm - идентификатор группы
выходной параметр status - параметры принятого сообщения
MPI_Status status;
…
MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
Описание слайда:
Функции int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status status) – проверка приемного буфера source - номер процесса-отправителя tag - метка сообщения comm - идентификатор группы выходной параметр status - параметры принятого сообщения MPI_Status status; … MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);

Слайд 27





Структура MPI_Status
Содержит поля:
MPI_SOURCE (источник), 
MPI_TAG (метка), 
MPI_ERROR (ошибка).
MPI_Status status;
…
MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
 
Описание слайда:
Структура MPI_Status Содержит поля: MPI_SOURCE (источник), MPI_TAG (метка), MPI_ERROR (ошибка). MPI_Status status; … MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);  

Слайд 28





Функции
int MPI_Get_count(MPI_Status status, MPI_Datatype datatype, int *count ) – определение размера сообщения
status - информация о сообщении
datatype - тип принимаемых элементов
выходной параметр count - число элементов сообщения
MPI_Status status;
int count;
…
MPI_Get_count(&status, MPI_INT, &count);
Описание слайда:
Функции int MPI_Get_count(MPI_Status status, MPI_Datatype datatype, int *count ) – определение размера сообщения status - информация о сообщении datatype - тип принимаемых элементов выходной параметр count - число элементов сообщения MPI_Status status; int count; … MPI_Get_count(&status, MPI_INT, &count);

Слайд 29





Простой пример 
Простой пример 
1
Описание слайда:
Простой пример Простой пример 1

Слайд 30


Message Passing Interface, слайд №30
Описание слайда:

Слайд 31


Message Passing Interface, слайд №31
Описание слайда:

Слайд 32


Message Passing Interface, слайд №32
Описание слайда:

Слайд 33





Простой пример 
Простой пример 
2
Описание слайда:
Простой пример Простой пример 2

Слайд 34


Message Passing Interface, слайд №34
Описание слайда:

Слайд 35


Message Passing Interface, слайд №35
Описание слайда:

Слайд 36


Message Passing Interface, слайд №36
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию