Wrong use of starpu_(un)pack for Chameleon/MPI
Hello,
@thibault raised on starpu-devel mailing list an issue about the way Chameleon is using starpu_pack
and starpu_unpack
, I copy his message here:
That being said, chameleon shouldn't be using the pack/unpack for dense tiles. It should be registering MPI datatype hooks with starpu_mpi_datatype_register like the mpi/examples/user_datatype/user_datatype.c example does.
That interface is a bit odd however: you have to pass an existing handle. @furmento, we probably want to introduce a starpu_mpi_interface_datatype_register which directly takes the enum starpu_data_interface_id instead of reading it from the handle.
As far as I understood, using starpu_pack
is useless for dense tile, and it triggers a copy when sending tiles through MPI, which could be avoided.