gpt4 book ai didi

OpenCL:一个程序运行一个多设备

转载 作者:行者123 更新时间:2023-12-05 00:22:16 24 4
gpt4 key购买 nike

我已经找到了这个
OpenCL: Running CPU/GPU multiple devices .

但我仍然有问题 (3) 如何在多个设备上运行程序。配方如下?(Q1)

  • 创建您要使用的设备。
  • 为每个设备创建一个上下文。
  • 对于每个上下文调用 clBuilProgram 来构建程序
  • 对于每个程序调用 clCreateCommandQueue 为每个上下文构建一个命令队列
  • 对于每个上下文和每个函数参数调用 clCreateBuffer。

  • 或者我必须连接 CommandQueues.(Q2)

    有人有一些示例代码或教程链接吗? (Q3)

    最佳答案

    您创建一个包含所有设备的上下文。上下文构建需要一个设备列表。您为上下文编译一次程序。您为该程序调用 clBuildProgram 或 clCompileProgram 和 clLinkProgram 一次,列出所有设备或不列出任何设备并让它在上下文中为所有设备构建。为上下文中的每个设备创建一个命令队列。为您要访问的每个数组创建一个缓冲区。如果您想在不同设备上处理数组的不同部分,您可以创建两个缓冲区,或使用子缓冲区将其划分为多个部分。

    如果您对针对所有设备的同一个程序不满意并希望进一步优化,您可以为每个设备创建一个单独的程序,或者创建一次程序并为每个传入宏的设备分别调用 clCompileProgram。

    关于OpenCL:一个程序运行一个多设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30218434/

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