首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内核的最大线程数

内核的最大线程数
EN

Stack Overflow用户
提问于 2015-04-30 22:20:05
回答 1查看 2.3K关注 0票数 1

我对cuda编程是个新手。我正在研究开普勒GPU,它有

代码语言:javascript
复制
3.2 compute_capability 
1024  max_threads_per_block 
1 Multiprocessor 
2048 max._threads per_Multiprocessor 
2147483647 grid size

这是否意味着我只能为内核分配2048?那么如何处理这么大的网格呢?

我的应用程序包含了大量的矩阵计算。

EN

回答 1

Stack Overflow用户

发布于 2015-04-30 22:32:34

你需要学习更多关于CUDA编程的知识。

一个内核(即一个网格)中可以有超过1024或2048个线程。

1024的限制是每个块的限制。如果你是初学者,你不需要过多关注2048这个数字。

在内核启动过程中:

代码语言:javascript
复制
mykernel<<<A,B>>>(...);

B参数是每个块的线程数。限制为1024个。

A参数是每栅格的块数。它被限制为2^31-1 (对于开普勒GPU上的x维度)。因此,理论上您可以在cc3.x设备上以一维网格的形式启动(2^31-1)*1024个线程。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29970262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档