GPU simulation stable but CPU simulation unstable

I am running a simulation with a snake-like robot. It runs as expected when using a GPU, but when running on CPU the simulation is unstable and robots fly away with great energy. What settings do I need to adjust so the CPU simulation behaves similarly to the GPU simulation? See the attached Python script and urdf file.

minimal_snake.py (2.6 KB)
bot.urdf (14.5 KB)

This behaviour is not unique to this robot shape and has occurred for different robot shapes as well. The target audience for this robot are university students. Students without Nvidia GPU will develop their simulation on their own laptops using CPU and when ready will do long simulations on our GPU cluster. As such it is important for us that simulation is reliable on CPU.