Accumulation errors in GPU and EMU modes

Further to earlier post about accumulation errors, I have now run the codes in both emu and gpu modes for both coalesce/shared memory and texture models. The results are

EMU mode

  1. same initial density for both models
  2. same contributions for both models
  3. different final density for both models

GPU mode

  1. same initial density for both models
  2. same contributions for both models
  3. different final density for both models

But,

  1. the initial density in EMU mode is not the same as the initial density in GPU mode
  2. the total contribution in EMU mode is not the same as the total contribution in GPU mode
  3. thus, the final density in EMU mode is not the same as the final density in GPU mode

The differences can be so big in some particles that the densities can only be correct to 2dp.

And thus, the simulations using coalesce/shared memory and texture models are very smiliar but visibly different.

All I did was run the same codes in EMU and GPU modes. No changes to code (besides removing fprintf statements in EMU mode) were made.