MPI – Message Passing Interface Algumas Funções. Funções básicas As 6 funções que permitem escrever muitos dos programas: MPI_Init -- inicia a computação.

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação: uma Abordagem Funcional Programação I Eng. de Computação Prof.ª Claudia Boeres e Prof. Estefhan Dazzi 2010/1.
Advertisements

Interações cliente/servidor usando o UDP
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
COMPUTAÇÃO PARALELA: UMA INTRODUÇÃO
CURSO Desenvolvimento Territorial SEPLAG
Funções em C.
Estratégias de Particionamento e Divisão e Conquista
MOBILIDADE SCTP E HIP MIDDLEWARE MPI E FUEGO
Programação II Estruturas de Dados
MPI – Comunicações Com. Colectiva esquecida Barrier não há troca de dados, apenas sincroniza os processos int MPI_Barrier( MPI_Comm, comm) T com = T lat.
MPI - Introdução Message-Passing Model Task: código + memória (uma ou várias tasks no mesmo processador) Mensagem: as tasks comunicação entre si trocando.
Communicators Bibliotecas, topologias, etc. Intra-communicators: entre processos do mesmo communicator Inter-communicators: entre diferentes communicators.
Exemplos simples podem ser vistos AQUI
Multiplicação Matriz-Vector
TADS – Tipos Abstratos de Dados
Alocação Dinâmida de Memória
Padrão MPI – Message Passing Interface
Message Passing Interface (MPI)
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Aula.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas.
Introdução Linguagem C
Universidade Federal do Espírito Santo Programação II Vetores Professora: Norminda Luiza.
Escola Secundária c/ 3º CEB da Batalha
FEUPDEECRedes de Computadores, 4º Ano de EEC, ramo de ACI Sockets Abril, 98Isidro Vila Verde 1 Formato das estruturas de dados Estrutura.
Revisão da Linguagem C.
Estrutura e funcionamento de um computador
O Mecanismo de Threads em Java 2. Criar uma classe herdeira da super classe Thread public class minhaThread extends Thread{ public class minhaThread extends.
Revisão /*======================================================*/
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 30 (1) Empacotamento de Dados em MPI Tópicos: Buffer de Mensagem Empacotamento/Desempacotamento.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 27 (1) Programação com MPI Tópicos: Modelo de Programação Funções de Ambiente Funções Básicas.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (1) Comunicação Coletiva em MPI Tópicos: Operação de Broadcast Operações de Redução Exemplo:
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (1) Entrada/Saída em MPI Tópicos: Operações de E/S Sincronização de Processadores Referência:
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Chamada Remota de Procedimentos
Paradigmas e Ferramentas de Desenvolvimento de Software – Revisão da linguagem C++ Lúbia Vinhas DPI - INPE.
Programação WEB Transferência de Arquivos Prof. Timoteo Lange Junho2014.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 35 (1) Comunicação Avançada em MPI Tópicos: Exemplo: Difusão de Dados em Anel Armazenamento.
Roteiro Jogo de adivinhação Tarefa Desafio Algoritmo do jogo
Algoritmos - Propriedades Desejáveis (1)
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 26 (1) Troca de Mensagens Troca de Mensagens Tópicos: Características de Mensagens Implementação.
Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos.
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Professora: Lucélia Alves de Oliveira
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Uso de parâmetros na linha de comando. Parâmetros da função main:
Funções Matemáticas e de String
Semáforos n Variáveis compartilhadas são globais n Acesso a variáveis ocorre em procedimentos, mas podem estar espalhados pelo programa n Exige consulta.
MPI - Message Passing Interface Mestrado em Matemática Computacional 2003.
AULA 20 Profa. Sandra de Amo GBC053 – BCC
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
Estruturas de Dados I Segundo Período de 2008 Gabarito da Primeira Prova.
Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores
Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil.
1 BSP no InteGrade II WorkShop do InteGrade c. 2 Objetivo O principal objetivo é permitir que aplicações BSP sejam executadas no InteGrade sem ou com.
1 Exercício em Tamanho de Janelas na Internet l Você está agindo como um emissor em uma conexão TCP, e você tem 217k bytes de dados para enviar. Na conexão,
Computação por Passagem de Mensagens
Introdução de um programa no sistema, mostrando a interação com o sistema (programa 1.1). Utilização do compilador/ligador (cc – gcc). /* * Mostra Hello.
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
Linguaguem de Programação II
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Jorge Zavaleta PVM vs MPI. Introdução Objetivos do MPI Implementações e definições processos dinâmicos Contextos Operações não bloqueantes Portabilidade,heterogeneidade.
Sockets Redes de Comunicação de Dados Prof. Esp. Cristiano José Cecanho.
1 UML NO PROJETO DE COMPONENTES: 1 a PARTE  DIAGRAMA DE CASO DE USO REAL  PROJETO DE INTERFACE  DIAGRAMA DE CLASSES  ELABORANDO O DIAGRAMA DE CLASSES.
1 Middleware Marcellus Tavares. 2 Roteiro Sistemas distribuídos Motivação Middleware  MPI  RMI Referências.
1 Trabalho de Sistemas Distribuídos 2º Bimestre / 2009.
Airam J. Preto , Celso L. Mendes
Transcrição da apresentação:

MPI – Message Passing Interface Algumas Funções

Funções básicas As 6 funções que permitem escrever muitos dos programas: MPI_Init -- inicia a computação MPI_Finalize -- finaliza a computação MPI_Comm_size -- determina o número de processos MPI_Comm_rank -- identifica o processo MPI_Send -- envia uma mensagem MPI_Recv -- recebe uma mensagem

Funções para iniciar e finalizar MPI_Init(&argc, &argv) -- inicia a computação MPI_Finalize ( ) -- finaliza a computação

Duas funções especiais MPI_COMM_SIZE(comm, size) comm -- comunicador size -- nº de processadores disponíveis (inteiro) MPI_COMM_SIZE (comm, pid ) comm -- comunicador size -- identifica o processador (inteiro)

Send / Receive MPI_Send(start, count, datatype, dest, tag, comm) start -- void* (conteúdo da mensagem) count -- int (determina o espaço necessário para guardar a meng. datatype -- MPI_Datatype (indica o tipo de dados da mensagem) dest (source) -- int (indica o nº do processo que recebe (envia) ) tag -- int (uma etiqueta para quem recebe o quê) comm -- MPI_Comm (indica a comunicação MPI_COMM_WORLD) MPI_Recv(start, count, datatype, source, tag, comm, status) status -- MPI_Status (fornece informação sobre os dados enviados e seu tamanho; por exemplo MPI_ANY_SOURCE refere o nº do processo que envia a mensagem )

REDUCE Operacão de redução MPI_Reduce( void*, void*, int, MPI_Datatype, MPI_Op, int, MPI_Comm ) void* -- operando void* -- resultado Int -- count MPI_Datatype – datatype MPI_Op – operação int -- root MPI_Comm -- comm ExemplosMPI_Op: MPI_MAX; MPI_SUM; MPI_PROD;…;MPI_LAND;...

BRODCAST Operacão de comunicação – um processador (rank root) envia uma mensagem para todos os restantes processadores. Deve ser chamada por todos os processadores com os mesmos argumentos para root e count. MPI_Bcast(void*, int, MPI_Datatype, int root, MPI_Comm comm) void* -- mensagem Int -- count MPI_Datatype – datatype int -- root MPI_Comm -- comm

ALLREDUCE Operacão de redução e comunicação(reduce+brodcast) MPI_Allreduce(void*, void*, int, MPI_Datatype, MPI_Op, MPI_Comm ) void* -- operando void* -- resultado Int -- count MPI_Datatype – datatype MPI_Op – operação MPI_Comm -- comm

Gather Operacão de comunicação – recolhe dados de diferentes processadores num processador (rank root) MPI_Gather (void*, int, MPI_Datatype, void*, int, MPI_Datatype, int, MPI_Comm ) void* -- send_data Int -- send_count MPI_Datatype – send_datatype void* -- recv_data Int -- recv_count MPI_Datatype – recv_datatype Int -- root MPI_Comm -- comm

Scatter Operacão de comunicação -- distribui dados de um processador por diferentes processadores (operação inversa de MPI_Gather) MPI_Scatter (void*, int, MPI_Datatype, void*, int, MPI_Datatype, int, MPI_Comm ) void* -- send_data Int -- send_count MPI_Datatype – send_datatype void* -- recv_data Int -- recv_count MPI_Datatype – recv_datatype Int -- root MPI_Comm -- comm