OpenCLSDK概述和硬件互操作性

OpenCLSDK概述和硬件互操作性,opencl,gpu,gpgpu,Opencl,Gpu,Gpgpu,当谈到OpenCL开发时,我对总体情况有点困惑,所以我将以列表的形式陈述我目前的理解和问题。如果我错了,请纠正我 我知道英特尔有AMDs(平台),AMD(我猜英伟达SDK中也有OpenCL支持)< /P>< 是否有其他供应商提供的SDK 一个供应商的SDK是否支持另一个供应商的设备?e、 g.使用AMD sdk的Nvidia设备?我能够使用AMD SDK在我的英特尔CPU上运行程序 这是一种同时安装多个平台并在运行时处理它们的方法吗 谢谢大家! 这是的副本,已回答。简短回答:SDK只会为您提供标

当谈到OpenCL开发时,我对总体情况有点困惑,所以我将以列表的形式陈述我目前的理解和问题。如果我错了,请纠正我

我知道英特尔有AMDs(平台),AMD(我猜英伟达SDK中也有OpenCL支持)< /P><
  • 是否有其他供应商提供的SDK

  • 一个供应商的SDK是否支持另一个供应商的设备?e、 g.使用AMD sdk的Nvidia设备?我能够使用AMD SDK在我的英特尔CPU上运行程序

  • 这是一种同时安装多个平台并在运行时处理它们的方法吗

  • 谢谢大家!

    这是的副本,已回答。简短回答:SDK只会为您提供标题。安装的驱动程序提供了平台和设备。您可以使用任何已安装的。

    这是的副本,已回答。简短回答:SDK只会为您提供标题。安装的驱动程序提供了平台和设备。您可以使用任何已安装的设备。

    1)Intel SDK为CPU和GPU设备(例如i7、HD4000、Xeon Phi等)提供OpenCL 1.2支持,AMD SDK为CPU和GPU设备(例如Opteron、HD5xxx、HD6xxx、HD7xxx等)提供OpenCL 1.2支持,NVIDIA SDK仅为GPU提供OpenCL 1.1支持(例如GTX 2xx、GTX 4xx、GTX 5xx、特斯拉等)

    2) 是的,来自苹果,ARM和更多

    3) 是的,多亏了OpenCLICD,您可以在NVIDIASDK上编译一个可执行文件并在AMD硬件上运行。但是,您必须小心使用OpenCL版本,使用OpenCL1.2SDK编译并在1.1上运行可能会出现一些问题。站台

    4) 是的,您可以在运行时查询OpenCL以获得可用平台的列表,并使用其中一个或所有平台。我将日常使用的Intel OpenCL CPU设备与多个AMD OpenCL GPU设备并排使用。

    1)Intel SDK为CPU和GPU设备(例如i7、HD4000、Xeon Phi等)提供OpenCL 1.2支持,AMD SDK为CPU和GPU设备(例如Opteron、HD5xxx、HD6xxx、HD7xxx等)提供OpenCL 1.2支持,NVIDIA SDK仅为GPU(例如GTX 2xx、GTX 4xx、GTX 5xx、特斯拉等)提供OpenCL 1.1支持

    2) 是的,来自苹果,ARM和更多

    3) 是的,多亏了OpenCLICD,您可以在NVIDIASDK上编译一个可执行文件并在AMD硬件上运行。但是,您必须小心使用OpenCL版本,使用OpenCL1.2SDK编译并在1.1上运行可能会出现一些问题。站台


    4) 是的,您可以在运行时查询OpenCL以获得可用平台的列表,并使用其中一个或所有平台。我将日常使用的英特尔OpenCL CPU设备与多个AMD OpenCL GPU设备并排使用。

    英特尔OpenCL SDK支持CPU的OpenCL 1.2,但仅支持英特尔HD的OpenCL 1.1。引用他们的网页“CPU上的OpenCL 1.2与英特尔高清图形上的OpenCL 1.1混合”。然而,英特尔HD的驱动程序似乎不是很好。它会在运行在其他所有程序上的大多数代码上崩溃

    <英伟达SDK不包括C++绑定文件C.HPP。您可以从另一个SDK复制它,也可以从Khronos Group OpenCL站点获取它

    我在使用AMD SDK的非AMD设备上运行OpenCL时遇到问题,因此我改用Intel SDK,它可以在AMD、Intel和Nvidia上运行。但是,1.1个C++绑定和1.2个C++绑定不是100%兼容的。如果您希望您的代码同时在Nvidia和AMD GPU上工作,请仅使用OpenCL 1.1和以下定义:
    #定义CL_使用不推荐的OPENCL_1_1_API

    英特尔OPENCL SDK支持针对CPU的OPENCL 1.2,但仅支持针对英特尔HD的OPENCL 1.1。引用他们的网页“CPU上的OpenCL 1.2与英特尔高清图形上的OpenCL 1.1混合”。然而,英特尔HD的驱动程序似乎不是很好。它会在运行在其他所有程序上的大多数代码上崩溃

    <英伟达SDK不包括C++绑定文件C.HPP。您可以从另一个SDK复制它,也可以从Khronos Group OpenCL站点获取它

    我在使用AMD SDK的非AMD设备上运行OpenCL时遇到问题,因此我改用Intel SDK,它可以在AMD、Intel和Nvidia上运行。但是,1.1个C++绑定和1.2个C++绑定不是100%兼容的。如果您希望您的代码同时在Nvidia和AMD GPU上工作,请仅使用OpenCL 1.1和以下定义:
    #定义CL_使用不推荐的OPENCL_1_1_API

    问题1不是问题。关于问题3和4,请参见问题1不是问题。有关问题3和4,请参见