I have a kernel that used to work normally for almost 1.5 years, it has been continuously maintained and improved for all this time. Main project can be compiled for x86 and x64 so I use both -m32 and -m64 keys.
After addition of two code snippets into the kernel (added code has been checked and rechecked hundred of times, it is absolutely similar to already present code that used to work fine) it began to fail with “Unspecified launch failure” error. It is very surprising that this kernel (with added code) works without any errors when compiled with -m32 but fails with -m64.
I have nailed the problem down to the condition when single line of code being commented makes the code work without “unspecified launch failures” but this line of code has absolutely nothing with code snippets that has been actually added. In general, commenting one case in a switch statement makes the kernel work - but the statement that needs to be commented is not called even a single time, it is a code that does not work under testing conditions.
All the facts make me think that it is a bug in nvcc, however, the goal is to make the kernel work, not to point that there are bugs in nvcc. The fact that I can’t extract small piece of code that reproduces the issue is also not helpful. I would appreciate any suggestions if someone has already fixed something similar (-m32 that works and -m64 that don’t).
Thanks in advance.