如何通过程序查找Nvidia GPU的类型(无论是Tesla、Fermi还是Kepler)

3

有人能告诉我如何通过程序找到GPU类型(Fermi、Tesla或Kepler),以便根据GPU类型调用正确的函数吗?

通过 cudaDeviceProp.major,我可以通过计算能力区分 Fermi 和 Tesla。但是我无法区分 Fermi 和 Kepler。

有人知道如何找到它吗?


你应该能够 - Telsa卡是major=1,Fermi卡是major=2,Kepler卡是major=3 - talonmies
不,凯伯拉系列显卡的主要版本号并不是3。对于凯伯拉系列显卡来说,主要版本号是2。 - veda
4
或者,从同一指南的第2.5节中可以得知:“基于Kepler架构的设备的主要修订号为3,基于Fermi架构的设备的主要修订号为2,基于Tesla架构的设备的主要修订号为1。” - Bart
1
特斯拉既是第一架构的名称,也是所有架构的专业计算卡的名称。有点令人困惑。 - Roger Dahl
2
@RogerDahl:我认为“特斯拉”这个名字是后来才用于G80/90/G200架构的。当第一代和第二代硬件出现时,我确实不记得有人将“特斯拉”用于架构上。 - talonmies
显示剩余2条评论
1个回答

7
为了回答这个问题,cudaDeviceProp.major=3代表目前的Kepler卡,cudaDeviceProp.major=2代表Fermi, cudaDeviceProp.major=1代表G8x/G9x/G2xx卡,正如SDK deviceQuery输出所说明的那样。请参考以下内容:
/deviceQuery Starting...

CUDA Device Query (Runtime API) version (CUDART static linking)

Found 1 CUDA Capable device(s)

Device 0: "GeForce GTX 680"
CUDA Driver Version / Runtime Version 4.2 / 4.2
CUDA Capability Major/Minor version number: 3.0
Total amount of global memory: 2048 MBytes (2147287040 bytes)
( 8) Multiprocessors x (192) CUDA Cores/MP: 1536 CUDA Cores
GPU Clock rate: 706 MHz (0.71 GHz)
Memory Clock rate: 3004 Mhz

1
deviceQuery在哪里?它是否在NVIDIA CUDA示例中? - Dhiren Hamal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接