warp-scheduler相关内容

CUDA 块/扭曲/线程如何映射到 CUDA 内核?

我已经使用CUDA几个星期了,但是我对blocks/warps/thread的分配有些疑问.我正在从教学的角度研究架构(大学项目),因此达到最佳性能不是我关心的问题. 首先,我想了解这些事实是否正确: 程序员编写内核,并在线程块网格中组织其执行. 每个块都分配给一个流式多处理器 (SM).一旦分配,它就不能迁移到另一个 SM. 每个 SM 将自己的块拆分为 Warps(当前 ..
发布时间:2022-01-10 15:16:44 其他开发

翘曲如何使另一次翘曲处于闲置状态?

如您在问题标题中所看到的,我想知道翘曲如何导致另一次翘曲进入 Idle (空闲)状态.我在SO中阅读了很多Q/A,但找不到答案.在任何时候,一个区块中只能运行一个经纱吗?如果是这样,则经纱的空闲状态没有任何意义,但是如果我们可以同时运行多个经纱,则每个经纱都可以与其他经纱分开进行工作. 该论文说:不规则的工作项导致整个经纱处于空闲状态(例如,下图中的warp0 w.r.t. warp1). ..
发布时间:2021-04-15 20:18:57 其他开发

cuda共享内存和块执行计划

我想根据每个块使用的共享内存量来清除 CUDA共享内存和块执行的执行状态. 状态 我的目标是GTX480 nvidia卡,该卡每块具有48KB 共享内存,并具有15个流式多处理器.因此,如果我声明一个有15个块的内核,则每个块都使用48KB共享内存,并且没有达到其他限制(寄存器,每个块的最大线程数等),每个块都运行到一个SM(共15个)中,直至结束.在这种情况下,只需要在相同块的扭曲之 ..
发布时间:2020-08-06 18:55:18 其他开发

CUDA常驻经纱的问题

我已经使用CUDA了一个月,现在我想弄清楚要隐藏内存访问的延迟需要多少个扭曲/块.我认为这与多处理器上的常驻扭曲最大有关. 根据CUDA_C_Programming_Guide(v-7.5)中的表13,每个多处理器的最大驻留扭曲数为64. 然后,我的问题是:居民翘曲是什么?它是指那些具有从GPU内存中读取的数据并准备好由SP处理的扭曲吗?或引用可以读取数据存储器的warp或准备好由SP处理的 ..
发布时间:2020-07-31 01:55:09 其他开发

cuda:warp发散开销vs额外算术

当然,通过 if 和 switch 语句, 。 但是什么是经线发散的开销(仅调度一些线程执行某些行)与额外的无用算法? / p> 考虑以下虚拟示例: verison 1: __ device__ int get_D(int A,int B,int C) { //对于每个线程,值A可能不同。 int D = 0; if(A ..
发布时间:2017-03-04 15:19:38 其它硬件开发

CUDA块/ warp /线程如何映射到CUDA核心?

我一直在使用CUDA几个星期,但我有一些疑虑的块/ warp /线程的分配。 我从教学角度研究建筑(大学项目),所以达到最高的表现不是我的关注。 首先,我想知道我是否直接得到这些事实: 程序员写了一个内核, 每个块都分配给流处理多处理器(SM)。一旦分配,它不能迁移到另一个SM。 每个SM将其自己的块分割成经线(目前最大为32个线程)。一个warp中的所有线程在SM的资源 ..
发布时间:2017-03-04 11:29:40 其它硬件开发