How to build using Charm++'s randomized message queues

This page explains how to build Xyst using Charm++'s randomized message queues.

How to build Xyst with randomized message queues

Randomized message queues in Charm++ enable more extensive testing of the correctness of asynchronous algorithms. This is useful for debugging logic problems and is highly recommended for serious code development in Xyst. To clone, build, and run the tests using Charm++'s randomized message queues do

git clone https://codeberg.org/xyst/xyst.git && cd xyst
mkdir build && cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DCHARM_OPTS=-DRANDOMIZED_MSGQ=true ../../src
ninja
./charmrun +p4 Main/unittest && ctest -j4 && cd -

The above will instruct cmake to build Charm++ using randomized message queues, build using ninja, and will run the unit-tests and the regression tests on 4 CPUs.