2

我正在使用 GTX Titan 进行计算 3.5。在 Windows 8 64 位和 CUDA 5 64 位上。

由于我的全局内存使用量不超过 3 GB,并且我的所有变量都使用 32 位或以下,我想知道使用 32 位内核是否会减少寄存器使用量,因为现在的指针将是 u32。

  1. 64位指针占用两个寄存器吗?
  2. 有人试图通过将内核编译为 32 位来减少寄存器数量吗?(我没有尝试这个,因为我假设我需要安装 32 位版本的 CUDA)。
4

1 回答 1

3
  1. 在 win7 64 位 cuda 5 上,我可以通过更改一些项目设置来构建 32 位应用程序或 64 位应用程序:
    • 对于 64 位 cuda 5,将 -m32 标志传递给编译器将告诉它构建 32 位设备
      代码
    • 当我将项目类型从更改x64Win32.

` 2. 是的,64 位值占用两个(32 位)寄存器。

于 2013-06-12T14:06:02.963 回答