Interpretowanie wyników --ptxas-options = -v

Próbuję zrozumieć wykorzystanie zasobów dla każdego z moich wątków CUDA dla ręcznie napisanego jądra.

Skompilowałem mojekernel.cu plik do akernel.o plik znvcc -arch=sm_20 -ptxas-options=-v

i mam następujące wyjście

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]

Patrząc na powyższe wyniki, czy to słuszne

każdy wątek CUDA używa 46 rejestrów?nie ma rejestru przechodzącego do lokalnej pamięci?

Mam też pewne problemy ze zrozumieniem wyjścia.

Moje jądro wywołuje całe mnóstwo__device__ Funkcje. IS 72 bajty suma pamięci dla ramek stosu__global__ i__device__ Funkcje?

Jaka jest różnica pomiędzy0 byte spill stores i0 bytes spill loads

Dlaczego informacje są dlacmem (które zakładam jest stałą pamięcią) powtarzane dwukrotnie z różnymi liczbami? W jądrze nie używam stałej pamięci. Czy to oznacza, że ​​kompilator jest,pod maską, powiedz GPU, aby używał stałej pamięci?

questionAnswers(1)

yourAnswerToTheQuestion