Is GRB deterministic?

I means are the GPU Rigid Body`s compute result determinitic? Assume the input data and input sequence is same, if the result will be same? Further, I want to know that if the result will be the same when using different video card?

GRB is not currently completely deterministic. In theory, it should be possible to make it deterministic (and this is a goal we would like to reach), but there are some cases where this doesn’t hold that haven’t yet been investigated fully.

I’m not fully confident that we could guarantee that results would be exactly the same between different video cards.

Tiny epsilon differences in a particular calculation tends to snowball into visible divergence in the simulation over 100s of frames. Even CPU PhysX rigid bodies, which are completely deterministic on the same hardware given the same compiler, produce different results with different compilers or different optimization settings.

Thank you for your quick answer. So I think I need to confirm that if CPU rigid bodies can be deterministic using same binary execute file between different CPUs? Futher, I want to ask that if I need to set the floating point control word of FPU everytime before I call PhysX’s APIs?

No, you shouldn’t need to modify the fpu settings before calling API functions.