Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix problem with unknown datatypes in replay/tracing.
authordegomme <degomme@localhost.localdomain>
Mon, 17 Nov 2014 22:42:46 +0000 (23:42 +0100)
committerdegomme <degomme@localhost.localdomain>
Mon, 17 Nov 2014 22:43:33 +0000 (23:43 +0100)
commit60449c1d78a05619fe3d1a77fa1d7d0c20a79dba
tree25a4ebef3432d7aa556f0ff75ee16188efda4758
parent19254cae800074d55a24dfc38c2797205ad8eead
Fix problem with unknown datatypes in replay/tracing.
When datatype was unknown to replay, it was replayed as MPI_BYTE.

This modification adds a parameter to encode_datatype, to tell tracing that the datatype size has to be taken into account in the count parameter
This results in the fact that a message of count*datatype_size being replayed as a message of (count*datatype_size)*sizeof(MPI_BYTE), which is the same.

This is not a perfect or elegant solution, but :
- it works.
- it handles manually created datatypes
- it doesn't break previously generated replay files
- it avoids testing each time 50 different datatypes (see encode_datatype function)
- the new parameter avoids doing strcmp with "-1" at each time, performance should not be too bad
src/smpi/private.h
src/smpi/smpi_pmpi.c
src/smpi/smpi_replay.c