gpt4 book ai didi

cuda - CUDA 中有多少个网格

转载 作者:行者123 更新时间:2023-12-04 17:11:10 35 4
gpt4 key购买 nike

一个 GPU 中可以有多少个 CUDA 网格?

两个网格可以同时存在于 GPU 中吗?还是一台 GPU 设备只有一个网格?

Kernel1<<gridDim, blockDim>>(dst1, param1);
Kernel1<<gridDim, blockDim>>(dst2, param2);

上面的两个内核是同时运行还是顺序运行?

最佳答案

如果两个内核如上所示发出,它们将被序列化(它们将依次运行)。这是因为没有任何其他代码(即切换流),两个内核将被发布到同一个 cuda 流。发出到同一流的所有 cuda 调用都按顺序执行,即使您认为应该看到其他情况,因为您使用的是 cudaMemcpyAsync 或类似的东西。

当然可以让多个内核彼此异步运行(因此可能同时运行),但有必要使用 cuda 流 API 来实现这一点。

您可能需要查看 CUDA C Programmers Guide 中的第 3.2.5 节“异步并发执行”。了解有关流和并发内核执行的更多信息。此外,nvidia CUDA SDK中还有多个样例。如 simple streams这将说明这些概念。 concurrent kernels示例显示了如何同时运行多个内核(使用流)。请注意,并发运行内核需要计算能力 2.0 或“更高”的硬件。

另外,回答您的第一个问题,来自 section 3.2.5.2 CUDA C 编程指南的“设备可以同时执行的最大内核启动数因设备而异,但对于某些设备可能高达 128”

作为引用,“网格”是与单个内核启动相关联的整个线程数组。

关于cuda - CUDA 中有多少个网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12800900/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com