2013-06-12 41 views
1

我在計算3.5使用GTX Titan。在Windows 8 64bit和CUDA 5 64bit上。使用32位而不是64位來減少寄存器的數量

由於我不超過3 GB的全局內存使用量,並且所有變量都使用32位或更低,所以我想知道是否使用32位內核會減少寄存器使用的數量,因爲指針現在將是u32。

  1. 64位指針是否佔用兩個寄存器?
  2. 有人試圖通過編譯內核到32位來減少寄存器的數量? (我沒有嘗試這個,因爲我假設我需要安裝32位版本的CUDA的 )。
+0

在win7 64位cuda 5上,我可以通過更改一些項目設置來構建32位應用程序或64位應用程序。對於64位cuda 5,將'-m32'標誌傳遞給編譯器會告訴它[構建32位設備代碼](http://docs.nvidia.com/cuda/cuda-c-programming-guide/index。 HTML#sixtyfour位兼容性)。當我將項目類型從「x64」更改爲「Win32」時,需要處理此更改和其他更改。是的,64位值佔用兩個(32位)寄存器。 –

+0

這不僅僅是一個迴應嗎? – KiaMorot

回答

2
  1. Win7上64位CUDA 5,I可以通過 建立一個32位應用或64位的應用程序,改變一些項目設置:
    • 對於64位CUDA 5,使-m32標誌給編譯器會告訴它 到build 32 bit device
      code
    • 當我將 項目類型從x64更改爲Win32時,需要處理此更改和其他所需更改。

`是的,64位值佔據兩個(32位)的寄存器。

相關問題