Run out of registers in predicate? What is it?

There is a relatively slow function which I use for debugging purposes, which is used several times in my code.
It is never called recursively though… obviously :)

It can use local memory if needed, I don’t care!

Still, my compilation interrupted with the following message:

1>### Assertion failure at line 2735 of …/…/be/cg/NVISA/cgtarget.cxx:
1>### Compiler Error in file countCuda.cpp3.i during Register Allocation phase:
1>### ran out of registers in predicate

Any ideas how to deal with it?

Stop using that function ;) Ok, that’s not what you wanted to hear, apparently.

Well, that is what currently I do: I disabled the use of that function in some places and so far it is ok.
But that is rather bad workaround :P

Looks like a compiler bug. Consider a toolkit upgrade… (be aware that the upgrade “may” break existing compilation in other areas as well… just a possibility)

Try to change optimization level in complier.

Is there a newer version than 3.0? Are there some minor patches?