# IPC-Debug Allows to compare values between two running process to track divergence. One process serves as reference (root), the other (client) sends its values over a named pipe. See [ipc_debug.h](./include/ipc_debug.h) for available sub routines. Test program that compares ASCII characters distributed over MPI cluster: ``` terminalA $ mkfifo /tmp/pipe terminalA $ IPC_DEBUG_ROOT=1 IPC_DEBUG_FILE=/tmp/pipe mpirun -np 3 --use-hwthread-cpus build/mpi_test 123123 terminalB $ IPC_DEBUG_FILE=/tmp/pipe mpirun -np 2 --use-hwthread-cpus build/mpi_test 123125 [IPCDBG] Assertion failed in vector at index 5. Root has 51 but client has 52 #5 Source "/home/christoph/Studium/HiWi2/ipc-debug/src/mpi_test.cpp", line 63, in main 60: debug_ipc_mpi_set_data_distribution(start_index, characters_per_rank); 61: 62: // Make actual assertion > 63: debug_ipc_assert_equal_mpi_double_array(arr.data(), characters_per_rank); 64: 65: MPI_Barrier(MPI_COMM_WORLD); 66: MPI_Finalize(); ```