首页 > 其他分享 >Hello Cuda(一)——GPU设备检测

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

时间:2023-08-24 15:47:15浏览次数:54  
标签:int deviceCount 线程 Cuda SM GPU Hello 设备


#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 << "每个SM的最大共享内存:" << devProp.sharedMemPerMultiprocessor / 1024 << "KB" << std::endl;
        std::cout << "每个Grid的最大尺寸:" << devProp.maxGridSize[0] << " " << devProp.maxGridSize[1] << " " << devProp.maxGridSize[2] << std::endl;
        std::cout << "每个Block的最大尺寸:" << devProp.maxThreadsDim[0] << " " << devProp.maxThreadsDim[1] << " " << devProp.maxThreadsDim[2] << std::endl;

   
    }

    return 0;

}

GPU 设备序号:1NVIDIA GeForce RTX 4090
设备全局内存总量:24214MB
SM数目:128
每个线程块的共享内存大小:49152
设备上线程快Block可用的32位寄存器数目:65536
每个SM的最大线程数:1536
每个SM的最大线程束数:48
每个SM的最大共享内存:100KB
每个Grid的最大尺寸:2147483647 65535 65535
每个Block的最大尺寸:1024 1024 64

标签:int,deviceCount,线程,Cuda,SM,GPU,Hello,设备
From: https://www.cnblogs.com/XL2COWARD/p/MyCuda_1.html

相关文章

  • 解决方案 | 1分钟快速解决 win10 任务管理器性能不显示GPU?
    1问题环境:win1022h2    2解决方法  win+r输入dxdiag回车,查看下面信息:(1)确认你的Windows10版本号大于1909,如果确认,在任务管理器进程页右键名称一栏,将GPU勾选上即可。如果Windows10版本过旧,更新至1909版本或以上即可。  (2)还是上面图片点击【显示】,确保此......
  • 1001:Hello,World!
    1001:Hello,World!时间限制:1000ms      内存限制:65536KB提交数:345055   通过数:168663【题目描述】编写一个能够输出“Hello,World!”的程序,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常......
  • 基因组大数据计算: CPU和GPU加速方案深度评测
    随着NGS测序通量的大幅提高,搭配高效NGS二级分析技术的精准解决方案快速融进基因组学的各个应用领域:遗传进化、临床诊断、分子育种、医药开发等。以下我们通过对基于CPU和GPU不同硬件平台的NGS二级分析方案进行详细评测,以期为基因组学研究领域的用户提供参考。Sentieon软件是面向CPU......
  • CUDA -编辑模型
    编程模型可以理解为,我们要用到的语法,内存结构,线程结构等这些我们写程序时我们自己控制的部分,这些部分控制了异构计算设备的工作模式,都是属于编程模型。GPU中大致可以分为:核函数内存管理线程管理流从宏观上我们可以从以下几个环节完成CUDA应用开发:领域层逻辑层硬件层第......
  • Ubuntu16.04+CUDA8.0+OpenCV3.1+python+caffe+faster-rcnn环境配置
    前言Ubuntu1604注意事项CUDA80安装显卡驱动安装CUDA80编译CUDASampleOpenCV31pythonCaffe安装CaffeMNIST数据集测试faster-rcnn后记前言经过大概两个星期的配置,终于将faster-rcnn安装好了,期间重装了大概十次系统,查阅了无数多文献博客,遇到了无数多坑。本人写这篇文章就是希望读者......
  • Hello, SpringMVC
    springMVC的执行流程 具体流程(1)当用户通过浏览器发起一个HTTP请求,请求直接到前端控制器DispatcherServlet;(2)前端控制器接收到请求以后调用处理器映射器HandlerMapping,处理器映射器根据请求的URL找到具体的Handler,并将它返回给前端控制器;(3)前端控制器调用处理器适配器Handle......
  • GPU与CUDA C编程基本知识
    一、CPU与GPU的异同CPU:延迟导向内核,所谓延迟,指指令发出到得到结果中间经历的时间。GPU:吞吐导向内核,所谓吞吐量指单位时间内处理的指令数量。其适合于计算密集或者数据并行的场合。二、CUDA2.1简介CUDA(ComputeUnifiedDeviceArchitecture)是由英伟达公司2007年开始推出,初衷......
  • WSL2 Ubuntu20.04 配置 CUDA
    前言本文主要讲解如何在Widnows11环境下的WSL2(Ubuntu20.04)配置CUDA来启用GPU加速(本文默认您已经在Windows上安装完成NvidiaCUDA)配置流程检查驱动打开GeForceExperience检查驱动程序的情况,需要更新到最新版,最后重启GeForceExperience。安装CUDA命令生成生......
  • 使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能
    本文分享自华为云社区《使用UCS(On-Premises)管理您的GPU资源池,释放AI大模型算力潜能》,作者:云容器大未来。AI技术现状及发展趋势过去十余年,依托全球数据、算法、算力持续突破,人工智能全面走向应用,已成为社会生产生活的支柱性技术。2020年后,当自动驾驶、人脸识别等热门应用发......
  • cuda11.2升级安装
    1安装指定版本驱动和cuda驱动版本网址:https://developer.nvidia.com/cuda-toolkit-archive下载cuda11.2,以我们服务器为例,进行勾选得到下载命令wgethttps://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.runsudo下载完......