如何在 CUDA 中以编程方式获取卡规格

Posted

技术标签:

【中文标题】如何在 CUDA 中以编程方式获取卡规格【英文标题】:How to get card specs programmatically in CUDA 【发布时间】:2011-08-07 00:54:11 【问题描述】:

我刚刚开始使用 CUDA。有没有办法以编程方式获取卡规格?

【问题讨论】:

【参考方案1】:

您可以使用cudaGetDeviceCount 和cudaGetDeviceProperties API。

void DisplayHeader()

    const int kb = 1024;
    const int mb = kb * kb;
    wcout << "NBody.GPU" << endl << "=========" << endl << endl;

    wcout << "CUDA version:   v" << CUDART_VERSION << endl;    
    wcout << "Thrust version: v" << THRUST_MAJOR_VERSION << "." << THRUST_MINOR_VERSION << endl << endl; 

    int devCount;
    cudaGetDeviceCount(&devCount);
    wcout << "CUDA Devices: " << endl << endl;

    for(int i = 0; i < devCount; ++i)
    
        cudaDeviceProp props;
        cudaGetDeviceProperties(&props, i);
        wcout << i << ": " << props.name << ": " << props.major << "." << props.minor << endl;
        wcout << "  Global memory:   " << props.totalGlobalMem / mb << "mb" << endl;
        wcout << "  Shared memory:   " << props.sharedMemPerBlock / kb << "kb" << endl;
        wcout << "  Constant memory: " << props.totalConstMem / kb << "kb" << endl;
        wcout << "  Block registers: " << props.regsPerBlock << endl << endl;

        wcout << "  Warp size:         " << props.warpSize << endl;
        wcout << "  Threads per block: " << props.maxThreadsPerBlock << endl;
        wcout << "  Max block dimensions: [ " << props.maxThreadsDim[0] << ", " << props.maxThreadsDim[1]  << ", " << props.maxThreadsDim[2] << " ]" << endl;
        wcout << "  Max grid dimensions:  [ " << props.maxGridSize[0] << ", " << props.maxGridSize[1]  << ", " << props.maxGridSize[2] << " ]" << endl;
        wcout << endl;
    

如果您已经安装了GPU Computing SDK,请查看%NVSDKCOMPUTE_ROOT%\C\src 目录中的deviceQuery 项目。它展示了如何使用 CUDA Runtime API 调用来查询所有设备属性。

CUDA Programming guide 在第 3.2.3 节中有更多详细信息。

【讨论】:

以上是关于如何在 CUDA 中以编程方式获取卡规格的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中以编程方式创建 TabLayout

以编程方式获取 Android 手机型号,如何在 android 中以编程方式获取设备名称和型号?

如何在 Spring 中以编程方式获取当前的活动/默认环境配置文件?

如何在 Spring 中以编程方式获取当前的活动/默认环境配置文件?

如何在 iPhone sdk 中以编程方式获取设备名称?

如何获取在 Xamarin MacOS 中以编程方式创建的 NSTextField 的值?