Интерпретация выходных данных --ptxas-options = -v

Я пытаюсь понять использование ресурсов для каждого из моих потоков CUDA для рукописного ядра.

Я собрал свойkernel.cu подать вkernel.o файл сnvcc -arch=sm_20 -ptxas-options=-v

и я получил следующий вывод

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]

Глядя на вывод выше, правильно ли сказать, что

each CUDA thread is using 46 registers? there is no register spilling to local memory?

У меня также есть некоторые проблемы с пониманием результатов.

My kernel is calling a whole lot of __device__ functions. IS 72 bytes the sum-total of the memory for the stack frames of the __global__ and __device__ functions?

What is the difference between 0 byte spill stores and 0 bytes spill loads

Why is the information for cmem (which I am assuming is constant memory) repeated twice with different figures? Within the kernel I am not using any constant memory. Does that mean the compiler is, under the hood, going to tell the GPU to use some constant memory?

Ответы на вопрос(1)

Ваш ответ на вопрос