Number of registers used by kernel at runtime ?

Is there any way to get numbers of registers used by kernel at runtime ?
something like this

global kernel(…)

extern “C” invoker()
{
int numRegsUsedByKernel = ?SomeMysterousFunction?(kernel);
}

I need this to decide witch kernel & grid size run on witch hardware
now the only way to see how many registers each kernel occupies is to trace
nvcc output.

is there such a function or I’m doomed ? ;)