another newbie question about reg number.

hi,everyone, On GPU, each thread can use a certain number of registers, but uses too much regs in a single thread would hurt the parallelism so as to cause performance loss( one example of this situation is geometry shader ), so what is the proper number and the upper limit of regs can be used in shaders?
http://en.wikipedia.org/wiki/CUDA, here says gf110 GPU can use 32K regs per multiprocessor, does this mean the upper limit of available regs in shader is 1k? since each multiprocessor executes 32 threads simultaneously.
thanks.