gpu并行时的单精度与双精度问题

我的sph程序在单精度双精度下结果存在一定的区别,单精度中有更多粒子物理量变成nan,流动的样子也不太一样,应该是出现截断误差累积之类的问题。但是开双精度的话我的程序效率会低很多很多。这种情况有什么好办法提高精度而不损失性能吗?(例如kahan求和技巧,但是没人回答诶)

可能没有特别直接的办法, consumer gpu 的双精度计算确实是瓶颈