Interpretando a saída de --ptxas-options = -v

Eu estou tentando entender o uso de recursos para cada um dos meus threads CUDA para um kernel escrito à mão.

Eu compilei meukernel.cu arquivo para umkernel.o arquivo comnvcc -arch=sm_20 -ptxas-options=-v

e eu tenho a seguinte saída

ptxas info    : Compiling entry function '_Z12searchkernel6octreePidiPdS1_S1_' for 'sm_20'
ptxas info    : Function properties for _Z12searchkernel6octreePidiPdS1_S1_
    72 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 46 registers, 176 bytes cmem[0], 16 bytes cmem[14]

Olhando para a saída acima, é correto dizer que

cada thread CUDA está usando 46 registradores?não há registro de derramamento na memória local?

Eu também estou tendo alguns problemas com a compreensão da saída.

Meu kernel está chamando um monte de__device__ funções. IS 72 bytes a soma total da memória para os quadros de pilha do__global__ e__device__ funções?

Qual é a diferença entre0 byte spill stores e0 bytes spill loads

Por que as informações paracmem (que estou assumindo é memória constante) repetida duas vezes com figuras diferentes? Dentro do kernel não estou usando nenhuma memória constante. Isso significa que o compilador é,sob o capô, vai dizer a GPU para usar alguma memória constante?

questionAnswers(1)

yourAnswerToTheQuestion