OpenCL AMD S10000 双 GPU 执行
Posted
技术标签:
【中文标题】OpenCL AMD S10000 双 GPU 执行【英文标题】:OpenCL AMD S10000 dual GPU execution 【发布时间】:2014-05-24 14:30:08 【问题描述】:我有 S10000 AMD GPU,里面有 2 个 GPU。当我运行 clinfo 时,输出看起来像是被视为单独的 GPU。要在这两个 GPU 上运行我的内核,我是否需要创建 2 个单独的 openCL 队列并对我的工作组进行分区?这两个 GPU 是否共享内存?
【问题讨论】:
【参考方案1】:是的,您需要为每个 GPU 创建单独的命令队列,并在它们之间手动划分工作负载。 GPU 不共享内存,因此您还必须确保根据需要将数据传输到两个 GPU。如果您创建包含两个 GPU 的单个上下文,则该实现将在需要时自动处理 GPU 之间的移动缓冲区。但是,根据我的经验,明确地执行此操作通常会更好,因为有时实现会在内核之间产生错误的依赖关系,这些内核都使用相同的缓冲区并且会序列化内核执行。
【讨论】:
以上是关于OpenCL AMD S10000 双 GPU 执行的主要内容,如果未能解决你的问题,请参考以下文章
在 64 位 Ubuntu 14.04 中使用 Nvidia *和* AMD GPU 进行 OpenCL 开发
OpenCL clBuildProgram 在 OS X 上的 AMD GPU 上失败,并带有非描述性构建日志
可以仅将 AMD gDEBugger 6.0 用于 OpenCL CPU 内核调试吗? NVIDIA GPU 似乎推迟了这一点