NVCC line count to line count in functions


I get following error message.

### Assertion failure at line 2433 of ../../be/cg/NVISA/cgtarget.cxx:

### Compiler Error in file /tmp/tmpxft_000019b9_00000000-7_forward_projection.cpp3.i during Register Allocation phase:

### ran out of registers in float

I tried some things as I found this error already in two forum topics, however I can’t relate the line given to my source code. Is there any possibility to know which line it is refering to the wat my code is counted in the files?



I am using Linux Redhat 4.3

You can use the -keep option on the compiler command to make the compiler keep the generated file.

Thanks, that’s work so far, now at least I know the real error message. This line refers to the error function “static float __cuda_erfcf(float a)” . As I never heard of it, I googled it and found following definition:

"The erfc() function is provided because of the extreme loss of relative accuracy if erf(x) is called for large x and the result subtracted from 1.0. "

But now I face the next problem; my program is quite big, I have a kernel function which calls a device funtcion which calls several device funtions, so it is hard to figure out, where this error could occur, as I do a lot of arithmetic calculations.

Anyone knwos a trick, how I can find the source of the error?

I just did it with commenting the code and so finding out the source of the problem…

Concerning the error message, there was a rounding error due to the change from the c++ code to CUDA, as in C++ I used double values and changed them to float. However this caused problems in the arithmetic calculations I do…