some program in C which does extensive floating point calculations get right results on a pc linux box, but wrong results on the SPE of the cell processor, but not on the PPU of the cell. I am using gcc compilers. I wonder if there is some gcc compilation option to increase rounding method or similar so I get single float precision calculations with more precision. I can not change to double, as on the SPE performance would drastic reduce
Thanks
Based on the IBM documentation for the differences from IEEE 754 on the SPU, it could be any number of things:
Of course, on a related page, you can also compile SPU code for strict IEEE conformance: