Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouHugo Pequeno Alterado mais de 9 anos atrás
1
MPI – Message Passing Interface Algumas Funções
2
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
3
Funções para iniciar e finalizar MPI_Init(&argc, &argv) -- inicia a computação MPI_Finalize ( ) -- finaliza a computação
4
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)
5
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 )
6
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;...
7
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
8
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
9
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
10
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.