Dear all, in one of my C codes developed using Open MPI v1.4.3 I need to call MPI_Allreduce() passing as sendbuf and recvbuf arguments two MPI_PACKED arrays. The reduction requires my own MPI_User_function that needs to MPI_Unpack() its first and second argument, process them and finally MPI_Pack() the result in the second argument.
I need to use MPI_Pack/MPI_Unpack because I am not able to create a derived datatype, since many data I need to send are dynamically allocated. However, the code fails at runtime with the following message: An error occurred in MPI_Unpack on communicator MPI_COMM_WORLD MPI_ERR_TRUNCATE: message truncated MPI_ERRORS_ARE_FATAL (your MPI job will now abort) I have verified that, after unpacking the data in my own reduction function, all of the data are wrong. Is this possible in MPI? I did not find anything on the "MPI reference Volume 1" and "Using MPI" that prevents this. This should just require using as datatype MPI_PACKED in MPI_Allreduce() . However, searching on the web I did not find any examples. Thank you in advance for any clue/suggestions/source code examples. This is driving me crazy now ;-( Massimo Cafaro - ******************************************************************************************************* Massimo Cafaro, Ph.D. Additional affiliations: Assistant Professor Euro-Mediterranean Centre for Climate Change Dept. of Engineering for Innovation SPACI Consortium University of Salento, Lecce, Italy E-mail massimo.caf...@unisalento.it Via per Monteroni massimo.caf...@cmcc.it 73100 Lecce, Italy caf...@ieee.org Voice/Fax +39 0832 297371 caf...@acm.org Web http://sara.unisalento.it/~cafaro *******************************************************************************************************
smime.p7s
Description: S/MIME cryptographic signature