NVCC line count to line count in functions

Hi,

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?

Thanks,

tom

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…