Como MPI_IN_PLACE trabalha com MPI_Scatter?
O que exatamente fazMPI_IN_PLACE
fazer quando dado como argumento paraMPI_Scatter
e como deve ser usado? Não consigo entenderman MPI_Scatter
:
Quando o comunicador é um intracomunicador, você pode executar uma operação de coleta no local (o buffer de saída é usado como buffer de entrada). Use a variável MPI_IN_PLACE como o valor do processo raiz recvbuf. Nesse caso, recvcount e recvtype são ignorados e o processo raiz não envia dados para si mesmo. Como a opção no local converte o buffer de recebimento em um buffer de envio e recebimento, uma ligação do Fortran que inclui INTENT deve marcá-los como INOUT, não OUT.
O que eu quero fazer é usar o mesmo buffer que contém os dados na raiz que o buffer de recebimento no outro processo (como emMPI_Bcast
) VaiMPI_Scatter
comMPI_IN_PLACE
Deixe-me fazer isso?