2012-09-12 28 views
14

El ile yazılmış bir çekirdek için her CUDA iş parçacığı için kaynak kullanımını anlamaya çalışıyorum.--ptxas-options = -v yorumlamasını yorumlama -v

ben nvcc -arch=sm_20 -ptxas-options=-v

ile kernel.o dosyaya benim kernel.cu dosyayı derlenmiş ve yukarıda çıkış baktığımızda şu çıktıyı

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] 

var, doğru söylemek olduğunu

  • Her bir CUDA iş parçacığı 46 kayıt kullanıyor?
  • hiçbir kayıt yerel belleğe dökülmesini var mı?

Ayrıca çıkışı anlama ile ilgili bazı sorunlar yaşıyorum.

  • Çekirdeğim çok sayıda __device__ işlevini çağırıyor. 72 bayt __global__ ve __device__ fonksiyonların yığın çerçeveleri için bellek toplamı toplam IS?

  • 0 byte spill stores ve 0 bytes spill loads

  • arasındaki fark nedir Neden cmem için bilgiler farklı rakamlarla iki kez tekrarlanır (I varsayıyorum sabit bellek ise) nedir? Çekirdek içinde hiçbir sabit bellek kullanmıyorum. Bu derleyici bazı sabit bellek kullanmasına GPU'yu anlatacağız, kaputun altında anlamına mı geliyor?

+0

'kullanılmış 46 kayıt' derleyici derlenmiş çekirdek için iplik başına 46 yazmaç ayrılmıştır ve diğer kayıt dökülmesi gösterir. Dökülen yazmaç sayısını bu sayıyı (46) çekirdeğin PTX'inde kullanılan toplam kayıt sayısından çıkararak bulabilirsiniz. – ahmad

+2

@Ahmad: İlk cümle doğru, ama ikincisi değil. Çekirdek, iş parçacığı başına izin verilen azami kayıttan daha azını kullanabilir ve yerel belleğe dökülmez. – talonmies

+1

Terziler cevabını incelemek için, PTX sonsuz sicillerle yüksek düzeyde bir soyutlamadır. Bunun nedeni, birden çok jenerasyon GPU için derlenebilmesi ve kayıt sayısının farklı olabilmesidir. Sadece kayıt kullanımına bakabileceğiniz, makineye özgü kodu derlediğinizde. Her durumda, ptxas (PTX'i makineye özgü kodla derleme) size dökülme miktarını gösterir. – Tom

cevap