[Libbulletjme] Difference single-threaded vs. multi-threaded

The “Mt” versions of Libbulletjme use lightweight worker threads (created using OpenMP) to parallelize certain loops involved in stepping a PhysicsSpace. For applications with a single PhysicsSpace, I believe they are thread-safe.

The “Mt” option is intended to boost performance on multi-threaded CPUs. For the workload I tested, the performance gains were moderate, and they topped out at 2 threads, perhaps due to limited memory bandwidth. (It didn’t help that significant portions of the Bullet algorithm are inherently serial.) Due to incompatibility between Xcode and OpenMP, I haven’t got “Mt” working for MacOS.

The only Minie releases that include multithreaded Libbulletjme are the ones with the “+mt” in their names, starting with “Minie-4.3.0+mt”.

More details can be found in the original Forum topic.

4 Likes