Hello Cuda(一)——GPU设备检测

发布时间 2023-08-24 15:36:04作者: 信海

#include "device_launch_parameters.h"
#include <iostream>

int main(int argc, char*argv[])
{
    int deviceCount;  // 设备数目
    cudaGetDeviceCount(&deviceCount);

    for(int i = 0; i < deviceCount; i++)
    {
        cudaDeviceProp devProp;  // 声明设备属性
        cudaGetDeviceProperties(&devProp, i);

        std::cout << "GPU 设备序号:" << i << devProp.name << std::endl;
        std::cout << "设备全局内存总量:" << devProp.totalGlobalMem / 1024 /1024 << "MB" << std::endl;
        std::cout << "SM数目:" << devProp.multiProcessorCount << std::endl;
        std::cout << "每个线程块的共享内存大小:" << devProp.sharedMemPerBlock << std::endl;
        std::cout << "设备上线程快Block可用的32位寄存器数目:" << devProp.regsPerBlock << std::endl;
        std::cout << "每个SM的最大线程数:" << devProp.maxThreadsPerMultiProcessor << std::endl;
        std::cout << "每个SM的最大线程束数:" << devProp.maxThreadsPerMultiProcessor / 32 << std::endl;
        std::cout << "设备上多处理器的数目:" << devProp.multiProcessorCount << std::endl;
    }

    return 0;

}

GPU 设备序号:0NVIDIA GeForce RTX 4090
设备全局内存总量:24217MB
SM数目:128
每个线程块的共享内存大小:49152
设备上线程快Block可用的32位寄存器数目:65536
每个SM的最大线程数:1536
每个SM的最大线程束数:48
设备上多处理器的数目:128
GPU 设备序号:1NVIDIA GeForce RTX 4090
设备全局内存总量:24214MB
SM数目:128
每个线程块的共享内存大小:49152
设备上线程快Block可用的32位寄存器数目:65536
每个SM的最大线程数:1536
每个SM的最大线程束数:48
设备上多处理器的数目:128