gpt4 book ai didi

opencl - GPU 设备上可以同时执行多少个任务?

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

我正在使用 OpenCL 并拥有 ATI 4850 卡。它有:

  • CL_DEVICE_MAX_COMPUTE_UNITS:10
  • CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
  • CL_DEVICE_MAX_WORK_GROUP_SIZE:256
  • CL_DEVICE_MAX_WORK_ITEM_SIZES:(256、256、256)
  • CL_DEVICE_AVAILABLE:1
  • CL_DEVICE_NAME:ATI RV770

它可以同时执行多少个任务?

是 CL_DEVICE_MAX_COMPUTE_UNITS * CL_DEVICE_MAX_WORK_ITEM_SIZES = 2560 吗?

更具体地说:单核处理器在某一时刻只能执行一项任务,双核处理器可以执行 2 个任务...我的 GPU 可以同时执行多少个任务?或者换句话说:我的 GPU 有多少个处理器?

最佳答案

RV770有10个SIMD核心,每个核心由16个着色器核心组成,每个核心由5个ALU组成(VLIW5架构)。总共800个ALU可以进行并行计算。我认为没有办法从 OpenCL 中获取所有这些数字。我也不确定你将CPU 核心等同于什么。也许是着色器核心?您可以阅读 VLIW at Wikipedia 。这是一个有趣的设计。

如果您说 CPU 核心在任何给定时间只执行一个“任务”,即使它有多个 ALU 并行工作,那么我猜您可以说 RV770 将处理 160 个任务。但由于不同芯片工作方式的差异,我认为“核心”和“任务”可能会变得难以定义。具有超线程的CPU甚至可以同时执行两组代码。对于 OpenCL,我认为在任何给定时间都不可能执行多个内核 - 除非最近的驱动程序更新改变了这一点。

无论如何,我认为以提供最佳性能的方式将您的工作呈现给 GPU 更为重要。不幸的是,除了试验之外,没有其他方法可以找到最佳的工作组规模。至少据我所知不是。一个帮助是,如果驱动程序支持 OpenCL 1.1,您可以查询 CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 并将工作大小设置为其倍数。否则,选择 64 的倍数可能是一个安全的选择。

关于opencl - GPU 设备上可以同时执行多少个任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6421720/

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