gpt4 book ai didi

opencl - 许多 OpenCL SDK。我应该选择哪一个?

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

在装有 Windows 7 操作系统的计算机中,我有来自该供应商的三个版本的 OpenCL SDK:

  • 英特尔
  • 英伟达
  • AMD。

我用他们每个人构建我的应用程序。作为输出,我有三个不同的二进制文件。例如:my_app_intel_x86、my_app_amd_x86、my_app_nvidia_x86

这个二进制文件在这点上有所不同:

  1. 他们在likange过程中使用不同的SDK
  2. 他们试图在运行时找到不同的 OpenCL 平台名称

我可以只使用一个 SDK 并检查运行时间的平台吗?

最佳答案

SDK 提供调试工具、平台和可能的扩展,无论如何,OpenCL API 保持不变。您可以链接到您想要的任何 SDK,它会生成与您可以找到的任何 OpenCL 运行时兼容的可执行文件。请记住,这些是 SDK,是为开发人员准备的 - 最终用户可能只有他的图形驱动程序(支持 OpenCL),这与您用来构建软件的 SDK 无关。

理想情况下,您应该为您的程序使用默认平台,但让用户覆盖它(您可以在运行时选择各种平台!)。您还可以使用启发式方法找出最快的设备,例如:

  • 遍历每个可用平台
  • 针对每个平台,遍历每个设备
  • 以某种相关方式对该设备进行基准测试
  • 选择最快的一个

此外,如果您使用特定的扩展程序,请确保只接受支持它们的设备...

Can I use only one SDK and check platform on running time?

是的,你绝对可以而且应该这样做,但我担心你所说的“检查平台”是什么意思——正如我上面所说的,SDK 对你可以运行你的构建程序的平台绝对没有影响。我可以使用 AMD SDK 构建我的代码,并在带有 nVidia 显卡或 Intel 处理器的系统上运行可执行文件(唯一的区别是我可能无法访问由我提供的 AMD 特定扩展) SDK,但扩展将被 AMD 驱动程序识别,因此您甚至不需要安装 SDK 来运行代码 - 但您将构建它)。

关于opencl - 许多 OpenCL SDK。我应该选择哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13526984/

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