栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

CUDA C并行编程--查询设备信息

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CUDA C并行编程--查询设备信息


#include 
#include 
#include 

int main(int argc, char** argv){
    printf("%s starting ...n", argv[0]);
    int deviceCount = 0;
    cudaError error_id = cudaGetDeviceCount(&deviceCount);
    if (error_id != cudaSuccess) {
        printf("cudaGetDeviceCount returned %d n->%sn",
        (int)error_id, cudaGetErrorString(error_id));
        printf("Result = FALLn");
        exit(EXIT_FAILURE);
    }
    if(deviceCount == 0){
        printf("There are no avail device that support CUDA!n");
    }
    else {
        printf("Detected %d CUDA device !n", deviceCount);
    }
    int dev = 0, driverVersion = 0, runtimeVersion = 0;
    cudaSetDevice(dev);
    cudaDeviceProp deviceProp;
    cudaGetDeviceProperties(&deviceProp, dev);
    printf("Device %d: "%s"n", dev, deviceProp.name); //打印设备编号及设备名
    cudaDriverGetVersion(&driverVersion);
    cudaRuntimeGetVersion(&runtimeVersion);
    // 驱动版本
    printf("    CUDA Driver Version / Runtime Version  %d.%d / %d.%d        n",
        driverVersion / 1000, (driverVersion % 1000) / 10,
        runtimeVersion / 1000, (runtimeVersion % 100) / 10);
    // CUDA cap版本
    printf("    CUDA Capability Major / Minor version number :  %d.%d       n", deviceProp.major, deviceProp.minor);    
    // CUDA 内存
    printf("    Total amount of global memory:  %.2f MBytes(%llu bytes)     n",
        (float)deviceProp.totalGlobalMem / (pow(1024.0, 3)),
        (unsigned long long)deviceProp.totalGlobalMem); 
    // GPU 的时钟率
    printf("    GPU clock rate:  %.0f MHz (%0.2f GHz)                       n",
        deviceProp.clockRate * 1e-3f, deviceProp.clockRate * 1e-6f);
    // 内存时钟率
    printf("    Memory Clock rate:  %.0f MHz                                n", 
        deviceProp.memoryClockRate * 1e-3f);
    // 内存总线宽度
    printf("    Memory Bus Width:   %d-bit                                  n", deviceProp.memoryBusWidth);
    if (deviceProp.l2CacheSize) {
        printf("    L2 Cache Size:  %d bytes                                n", deviceProp.l2CacheSize);
    }
    printf("    Max Texture Dimension Size (x, y, z)  1D=(%d), 2D=(%d, %d), 3D=(%d, %d, %d) n", 
        deviceProp.maxTexture1D,
        deviceProp.maxTexture2D[0], deviceProp.maxTexture2D[1], 
        deviceProp.maxTexture3D[0], deviceProp.maxTexture3D[1], deviceProp.maxTexture3D[2]);
    printf("    Max Layered Texture Size (dim) x layers 
        1D=(%d) x %d, 2d=(%d, %d) x %dn",
        deviceProp.maxTexture1DLayered[0], deviceProp.maxTexture1DLayered[1],
        deviceProp.maxSurface2DLayered[0], deviceProp.maxSurface2DLayered[1], deviceProp.maxSurface2DLayered[2]);
    printf("    Total amount of constant memory per block: %lu bytes        n", deviceProp.totalConstMem);
    printf("    Total amount shared memory per clock: %lu bytes             n", deviceProp.sharedMemPerBlock);
    printf("    Total number of registers available per clock: %d           n", deviceProp.regsPerBlock);
    printf("    Warp size:      %d                                          n", deviceProp.warpSize);
    printf("    Maxinum number of threads per multiprocessor:%d             n", deviceProp.maxThreadsPerMultiProcessor);
    printf("    Maxinum number of threads per block:%d                      n", deviceProp.maxThreadsPerBlock);
    printf("    Max sizes of each dimension of a block : %d x %d x %d       n",
        deviceProp.maxThreadsDim[0], deviceProp.maxThreadsDim[1], deviceProp.maxThreadsDim[2]);
    printf("    Max sizes of each dimension of a grid : %d x %d x %d        n",
        deviceProp.maxGridSize[0], deviceProp.maxGridSize[1], deviceProp.maxGridSize[2]);    
    printf("    Max memory pitch:  %lu bytes                                n", deviceProp.memPitch);
    return 0;
}

编译:

nvcc checkDeviceInfo.cu -o checkDeviceInfo

运行:

./checkDeviceInfo

输出:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/884060.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号