获取GPU信息的C++ 小程序

#include <cuda_runtime.h>
#include <iostream>

int main()
{
    int deviceCount;
    cudaGetDeviceCount(&deviceCount);
    std::cout << "Number of CUDA devices: " << deviceCount << std::endl;

    for (int i = 0; i < deviceCount; ++i)
    {
        cudaDeviceProp deviceProp;
        cudaGetDeviceProperties(&deviceProp, i);

        std::cout << "Device " << i << ": " << deviceProp.name << std::endl;
        std::cout << "Compute capability: " << deviceProp.major << "." << deviceProp.minor << std::endl;
        std::cout << "Total global memory: " << deviceProp.totalGlobalMem / (1024 * 1024) << " MB" << std::endl;
        std::cout << "Clock rate: " << deviceProp.clockRate << " kHz" << std::endl;
        std::cout << "Multiprocessor count: " << deviceProp.multiProcessorCount << std::endl;
        std::cout << "Maximum threads per block: " << deviceProp.maxThreadsPerBlock << std::endl;
        std::cout << "Maximum threads per multiprocessor: " << deviceProp.maxThreadsPerMultiProcessor << std::endl;
        std::cout << "Maximum warps per multiprocessor: " << deviceProp.maxThreadsPerMultiProcessor / 32 << std::endl;
        std::cout << "Maximum blocks per multiprocessor: " << deviceProp.maxThreadsPerMultiProcessor / deviceProp.maxThreadsPerBlock << std::endl;
        std::cout << "Shared memory per block: " << deviceProp.sharedMemPerBlock / 1024 << " KB" << std::endl;
        std::cout << "Registers per block: " << deviceProp.regsPerBlock << std::endl;
        std::cout << "Warp size: " << deviceProp.warpSize << std::endl;
        std::cout << std::endl;
    }

    return 0;
}
nvcc gpu_info.cpp -o gpu_info

编译运行一下就可以了

猜你喜欢

转载自blog.csdn.net/qq_31638535/article/details/130680174