Os tipos de dados MPI de envio / recebimento precisam coincidir?

Estou tentando determinar quais parâmetros de uma operação de envio e recebimento devem corresponder para que uma mensagem seja passada.

Eu entendo que uma operação de recebimento deve corresponder (ou abranger) a fonte da mensagem, a tag e o comunicador. No entanto, é necessário que o tipo de dados seja compatível?

Por exemplo. poderia corresponder a um envio da classificação 0:

MPI_Send (send_buffer, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);

com a operação de recebimento na classificação 1:

MPI_Recv (recv_buffer, 4, MPI_BYTE, 0, 0, MPI_COMM_WORLD, status);

Particularmente, como a contagem de envio é menor que a contagem de recebimento, que eu sei que é válida para MPI.

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion