So I'm currently coding this signal processing with CUDA and I run over a very strange issue, which clearly is a bug in either the driver or the hardware. I tracked down the issue called over my colleague to assert me, that I'm not on drugs or hallucinating. He confirmed it and then I set out to find a workaround (which turned out to be easy, but, well, weird).
This whole thing made me wonder if there either was already, or there should be a site on the SE network for discussion of code that should work but gets broken by external dependencies, so that other people can either confirm the problem, or point it out. I don't think that the codereview.stackexchange.com is not the right place for this.
In case you wonder what my CUDA issue is.
This is broken for
2^n - 1 < a < 2^n +1 for any n
float a = ...; // also happens with int float t = threadIdx.x; float tau = t / (float)a;
and this works
// may be any number that won't make 'a' multiply // to a number close to a power of 2 #define WEIRDAROUND 1.2345 float a = ...; // also for int float t = threadIdx.x * WEIRDAROUND; float tau = t / ((float)a * WEIRDAROUND);