This is part of FLAME-HPC/xparser#14, but since it is an issue of libmboard, I am posting it here.
Using the attached minimal example, built and run like this:
xparser -p bl_model.xml
make
mpirun -np 2 ./main 2000 its/0.xml -r
I get the error
------- P1:1
main: comm_routines_HANDSHAKE.c:301: MBI_CommRoutine_HANDSHAKE_AgreeBufSizes: Assertion `node->board->tt != NULL' failed.
main: comm_routines_HANDSHAKE.c:301: MBI_CommRoutine_HANDSHAKE_AgreeBufSizes: Assertion `node->board->tt != NULL' failed.
[irene:21163] *** Process received signal ***
[...]
right on the first iteration.
This only happens when xparser is run without the -f flag, thus only when using the DEBUG version of libmboard. The production version of libmboard doesn't seem to do the same tests at the beginning, thus does not error out.
I found two workarounds (these are marked in the code):
- Sending of a message by the Sender Agent is in this example dependent on the state of the agent. Removing this optional behaviour (i.e. commenting an if-condition in the function of the Sender agent) also removes the error.
- On the receiving end, messages are filtered by ID of the Receiver agent. Removing this filter also removes the error.
I can replicate this behaviour with both OpenMPI 3.0.1 and MPICH 3.2.1 (both using the MPI 3.0 Standard).
This is part of FLAME-HPC/xparser#14, but since it is an issue of libmboard, I am posting it here.
Using the attached minimal example, built and run like this:
I get the error
right on the first iteration.
This only happens when
xparseris run without the-fflag, thus only when using the DEBUG version of libmboard. The production version of libmboard doesn't seem to do the same tests at the beginning, thus does not error out.I found two workarounds (these are marked in the code):
I can replicate this behaviour with both OpenMPI 3.0.1 and MPICH 3.2.1 (both using the MPI 3.0 Standard).