你能以编程方式知道 GPU 中每个块的最大块数和线程数吗?

     2023-04-15     70

关键词:

【中文标题】你能以编程方式知道 GPU 中每个块的最大块数和线程数吗?【英文标题】:Can you programmatically know the max blocks and threads per block in a GPU? 【发布时间】:2021-08-09 02:57:36 【问题描述】:

我正在编写一个可能会在许多不同 GPU 上运行的 CUDA 程序。我想知道 CUDA 是否提供某种方式从代码中读取(运行时或编译时)当前 GPU 的功能,这意味着单个块可以包含的线程数以及最大块数,所以我可以定制启动内核以优化使用所有资源。

我知道这听起来像是一个愚蠢的问题,但我在网上找不到任何答案。

如果不可能的话,还有一个额外的问题:我看到 here 有人说他们知道 Jetson TX1 有

2 个 SM - 每个有 128 个内核。 我读到每个 SM(我知道有 2 个)最多可以有 16 个活动块和 64 个活动扭曲(或 2048 个活动线程)。

如何找到给定 GPU 的此信息?

【问题讨论】:

恕我直言,我会说不,因为所有不同的图形处理器和显示器之间没有标准。如有疑问,请查看目标 GPU 的数据表或程序员指南。 @ThomasMatthews:你的观点明显是错误的。自第一个 CUDA 测试版以来,已经有 API 向程序员公开了这些确切的硬件特性。 你能解释一下为什么我们店的显示器,使用I2C通信,不符合CUDA标准吗?我们的显示器有自己的内存和“显示列表”。我们必须发送命令,而不是直接访问寄存器和内存。是的,这是在嵌入式系统上。 整个问题是关于在 CUDA 中获取 NVIDIA GPU 的硬件特性,这适用于 NVIDIA 自 2007 年左右以来生产的所有 GPU。您的嵌入式系统是否使用 CUDA 兼容的 GPU?我猜不是…… 【参考方案1】:

我猜cudaGetDeviceProperties 似乎就是您要找的东西。

【讨论】:

以编程方式检索每个多处理器的最大块数

】以编程方式检索每个多处理器的最大块数【英文标题】:Programmaticallyretrievemaximumnumberofblockspermultiprocessor【发布时间】:2014-04-2613:04:34【问题描述】:有没有办法以编程方式检索可容纳在多处理器上的最大块数?我知道,如果... 查看详情

CUDA 估计每个块的线程数和 2D 网格数据的块数

】CUDA估计每个块的线程数和2D网格数据的块数【英文标题】:CUDAestimatingthreadsperblocksandblocknumbersfor2Dgriddata【发布时间】:2016-01-1915:34:27【问题描述】:首先让我说我已经仔细阅读了关于SO的所有类似问题:Determiningthreadsperblockandb... 查看详情

CUDA 估计每个块的线程数和 2D 网格数据的块数

】CUDA估计每个块的线程数和2D网格数据的块数【英文标题】:CUDAestimatingthreadsperblocksandblocknumbersfor2Dgriddata【发布时间】:2016-01-1915:34:27【问题描述】:首先让我说我已经仔细阅读了关于SO的所有类似问题:Determiningthreadsperblockandb... 查看详情

每个 SM 的最大驻留块数?

】每个SM的最大驻留块数?【英文标题】:MaximumnumberofresidentblocksperSM?【发布时间】:2020-08-0606:45:54【问题描述】:似乎每个SM允许的最大驻留块数。但是,虽然很容易找到其他“硬”限制(例如,通过`cudaGetDeviceProperties\'),但... 查看详情

你能以编程方式访问当前的 Heroku dyno id/name 吗?

】你能以编程方式访问当前的Herokudynoid/name吗?【英文标题】:CanyouprogrammaticallyaccesscurrentHerokudynoid/name?【发布时间】:2013-04-2815:42:55【问题描述】:在Heroku上,您能否以编程方式从应用程序中获取当前执行代码的测功机的某种... 查看详情

你能以编程方式修改 UICollectionView 滚动方向吗?

】你能以编程方式修改UICollectionView滚动方向吗?【英文标题】:CanyouamendUICollectionViewscrollDirectionprogrammatically?【发布时间】:2014-03-1714:59:30【问题描述】:我有一个使用Storyboard创建的UICollectionView(因为它有相当复杂的单元格)... 查看详情

你能以编程方式接受 UITextView 中的拼写更正吗?

】你能以编程方式接受UITextView中的拼写更正吗?【英文标题】:CanyouprogrammaticallyacceptaspellingcorrectioninUITextView?【发布时间】:2011-04-2400:42:30【问题描述】:我有一个将字符插入UITextView的按钮。我希望这个按钮的行为与空格键按... 查看详情

CUDA:每个多处理器的线程数和每个块的线程数的区别是啥? [复制]

】CUDA:每个多处理器的线程数和每个块的线程数的区别是啥?[复制]【英文标题】:CUDA:Whatisthethreadspermultiprocessorandthreadsperblockdistinction?[duplicate]CUDA:每个多处理器的线程数和每个块的线程数的区别是什么?[复制]【发布时间】... 查看详情

你能以关系数据库可以理解的方式表示应用程序对象吗?

】你能以关系数据库可以理解的方式表示应用程序对象吗?【英文标题】:Canyourepresentanapplicationobjectinawaythatarelationaldatabasecanunderstand?【发布时间】:2009-08-2622:07:08【问题描述】:BillKarwin有一篇名为“WhyShouldYouUseAnORM?”的博文。... 查看详情

为啥允许我运行块数超过 GPU 的 CUDA 核心数的 CUDA 内核?

...5【问题描述】:评论/注释线程块是否可以超过CUDA内核的最大数量?经纱尺寸与我正在做什么有什么关系?开始我正在使用 查看详情

有啥方法可以为 CuPy 计算设置线程数、块数和网格数?如何?

】有啥方法可以为CuPy计算设置线程数、块数和网格数?如何?【英文标题】:Isthereanywaytosetnumberofthreads,numberofblocksandgridsforCuPycomputation?How?有什么方法可以为CuPy计算设置线程数、块数和网格数?如何?【发布时间】:2021-10-2511:26... 查看详情

如何获得可以移动滑块的最大速率(频率)?

...alStudio2012)中可以移动滑块的速率(频率)。那么如何以编程方式获得合适的轮询率呢?这是我用于捕获滑块值的代码:voidCMainDlg 查看详情

CUDA - 多处理器、Warp 大小和每个块的最大线程数:确切的关系是啥?

...是什么?【发布时间】:2012-07-1820:38:29【问题描述】:我知道CUDAGPU上有包含CUDA内核的多处理器。在 查看详情

找出一组数据中最大的数和最小的数,并将它们的位置互换。(c语言编程题,急求大神解答,明天早上要交...

...中最大的数和最小的数,并将它们的位置互换。(C语言编程题,急求大神解答,明天早上要交,谢谢了)参考技术A#include<stdio.h>voidmain() intdat[10]=12,34,23,45,56,21,33,39,98,76; intmax=dat[0],min=dat[0],i,maxnum=0,minnum=0; for(i=1;i<10;i++) if... 查看详情

以编程方式滑动 UISlider

】以编程方式滑动UISlider【英文标题】:SlideUISliderprogrammatically【发布时间】:2013-04-2315:58:43【问题描述】:我有一个UISLider,每个步骤都分配了某些值。我从另一个VC获取这些值,如果该值大于滑块的开头,假设该值是100分中的5... 查看详情

cuda编程c++指引

简述利用GPU显卡硬件,进行cudaC++编程,加速C++程序,适合高度并行计算的情况环境配置1.安装显卡驱动2.VS2019设置右击工程——>生成依赖项——>生成自定义,将对话框中CUDA前面的勾打上添加CUDA程序文件,后缀名为.cu右击cu... 查看详情

有没有办法在多 GPU 环境中以编程方式选择渲染 GPU? (视窗)

】有没有办法在多GPU环境中以编程方式选择渲染GPU?(视窗)【英文标题】:IsthereawaytoprogrammaticallyselecttherenderingGPUinamulti-GPUenvironment?(Windows)【发布时间】:2011-09-1211:12:57【问题描述】:问题我有一个OpenGL应用程序,它将在具有... 查看详情

Xbox 360 上的 GPU 编程

...否可以在其GPU上运行基于矢量的浮点数学?如果有办法,你能指出我正确的方向吗?【问题讨论】:【参考方案1】:我并不声称自己是这方面的专家,但希望这可以为您指明一个有用的方向。有可能吗?是的。您可能已经知道GP... 查看详情