Towards Correctness Checking of MPI Partitioned Communication in MUST
Simon Schwitanski, Niko Sakic, Joachim Jenke, Felix Tomski, Marc-André Hermanns · 2023
The partitioned point-to-point communication concept introduced with the MPI-4.0 standard can improve the communication efficiency of hybrid parallel execution models. It allows threads on the sender and the receiver side to start working on parts of a communication buffer before the communication operation is fully completed. This new concept, however, also comes with new possible programming mistakes. In this paper, we discuss erroneous usage patterns in MPI partitioned communication and provide a set of example test cases to be integrated in future classification quality benchmark suites. The tests include invalid arguments, erroneous partition activations, deadlocks, and local buffer races. Further, we explain how we implemented first basic checks specific to partitioned communication in our correctness checking tool MUST and discuss required extensions for existing analyses. The evaluation on the example test cases shows that MUST can correctly pinpoint bugs in applications using partitioned communication.