I haven’t been able to find specific information on how I can get better control over the use of registers in my kernels without resorting to PTX programming. Is this correct, is PTX the only way to really accomplish this? Are there possibly some other techniques that can be employed in C code that will force the compiler to re-use registers, for example? I’ve had some success freeing registers by moving variables to shared memory arrays but this seems to slow down kernel execution. I found some information on the use of volatile variables with the claim that this can help PTX to be more parsimonious with registers but the programming guide indicates that volatile is for global or shared memory and makes no mention of it’s use with automatic variables which typically end up in registers.
I’m sure this information must be out there but I’ve searched the forum with various phrases using the word “registers” with no joy.
Thanks to anyone who can provide a pointer.