cuda - 每个 block 的最大线程数

标签 cuda gpu

我有以下信息:

Maximum number of threads per block:           512
Maximum sizes of each dimension of a block:    512 x 512 x 64

这是否意味着2d线程块中的最大线程数为512x512,这使我每个块中有262144个线程?
如果是,那么在一个最少256个块的内核中拥有这样数量的线程是一种好习惯吗?

最佳答案

不,这意味着每个块的最大线程数为512,

您可以决定如何在[1 ... 512] x [1 ... 512] x [1 ... 64]上进行布局。

例如在2D模式下16x16就可以了。

至于决定块的大小,要考虑很多因素,例如块所需的内存量以及硬件的半弯曲大小(我不记得它是否总是在Nvidia硬件上为16)。 )。

关于cuda - 每个 block 的最大线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612935/

相关文章:

CUDA 5.0 - cudaGetDeviceProperties 奇怪的网格大小或我的代码中的错误?

c - 编写 C 宏以在 CUDA 内核中使用

c++ - GpuMat - 访问自定义内核中的 2 channel float 据

c - OpenCL 中奇怪的私有(private)内存行为

linux - 为什么 CUDA 6.5 示例不适用于 CUDA 5.5?

cuda - CUDA 中间接访问导致未合并的全局内存访问

c++ - CUDA 似乎无法编译

python - TensorFlow 的 ./configure 在哪里以及如何启用 GPU 支持?

video - 有没有办法使用 Nvidia GPU 加速视频转码?

macos - 如何在 Macbook Air 上进行 GPU 编程?