gpt4 book ai didi

multithreading - 为什么 CUDA 和 OpenCL 中的 GPU 线程分配在网格中?

转载 作者:行者123 更新时间:2023-12-02 07:55:03 24 4
gpt4 key购买 nike

我正在学习OpenCL ,我正尝试启动内核。为什么GPU线程是在网格中管理的?

我将详细阅读有关此内容的更多信息,但最好有一个简单的解释。使用 GPGPUs 时总是这样吗? ?

最佳答案

这是一种常见的方法,用于 CUDA、OpenCL 以及我认为 ATI 流中。

网格背后的想法是在正在处理的数据和执行数据处理的线程之间提供简单但灵活的映射。在 GPGPU 执行模型的简单版本中,为 1D、2D 或 3D 数据网格中的每个输出元素“分配”一个 GPU 线程。为了处理该输出元素,线程将从输入数据网格中的相应位置或相邻位置读取一个(或多个)元素。通过在网格中组织线程,线程可以更轻松地确定要读取哪些输入数据元素以及在哪里存储输出数据元素。

这与常见的多核 CPU 线程模型形成鲜明对比,在常见的多核 CPU 线程模型中,每个 CPU 核心分配一个线程,每个线程处理许多输入和输出元素(例如四核系统中的 1/4 数据)。

关于multithreading - 为什么 CUDA 和 OpenCL 中的 GPU 线程分配在网格中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1342992/

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