CUDA,我需要一张新卡吗?1.0、1.1、2.0、2.1的差异

CUDA, do i need a newer card? Differences on the 1.0, 1.1, 2.0, 2.1

本文关键字:新卡吗 一张 CUDA      更新时间:2023-10-16

正在研究一些GPU CUDA样本,并尝试从Nvidia的包中提取一些样本,以及OpenCV中的一些演示。Nvidia的大多数样本都在运行,但OpenCV给我的主要是OpenCV错误:Gpu API调用(无效的设备符号)。

我有一张gts 8800卡,支持英伟达列出的计算能力1.0。有什么区别?我的错误与此有关吗?如果我买了一张新卡,我能运行更多的东西吗?

OpenCV似乎支持1.1及更高版本的CUDA功能。悲伤,但真实。。。

来自OpenCV Makefile:

set(CUDA_ARCH_BIN "1.1 1.2 1.3 2.0 2.1(2.0)" 
         CACHE STRING "Specify 'real' GPU architectures to build binaries for, 
         BIN(PTX) format is supported")

是的,如果你买了一张新的卡,你应该能够使用更高级的功能。您可以使用DeviceQuery SDK示例来获得计算功能,也可以查找许多卡。CUDA编程指南和/或CUDA最佳实践指南的附录中列出了不同计算能力的硬件设备之间的差异,这两个指南都可以在您获得驱动程序和工具包的同一位置获得。。。developer.nvidia.com。

我不知道这是否是你具体问题的原因;但总的来说,在许多情况下,较新的设备可以比较旧的设备做得更多。

我有一个8800 gtx,我不能在1.0版本中使用CUDA功能。对于正确的CUDA检测使用:

if (GpuInvoke.HasCuda &&
    GpuInvoke.GetCudaEnabledDeviceCount() > 0 &&
    new GpuDevice(GpuInvoke.GetDevice()).CudaComputeCapability.Major > 1)
{  
   //enter code here
}