【问题标题】:In OpenCL, why do I have one platform for each Intel device?在 OpenCL 中,为什么我要为每台英特尔设备提供一个平台?
【发布时间】:2019-05-16 17:56:09
【问题描述】:

我正在启动 OpenCL。据我了解,平台是特定于供应商的 OpenCL 实现,而设备是平台可以使用的处理单元。

我制作了一个简单的 C++ 代码,它打印平台名称并为每个设备打印设备名称,其输出为

Platform 0: Intel(R) OpenCL HD Graphics
    Device 0: Intel(R) Gen9 HD Graphics NEO
Platform 1: Intel(R) CPU Runtime for OpenCL(TM) Applications
    Device 0: Intel(R) Core(TM) i5-6200U CPU @ 2.3GHz

我的问题是,我不应该期望这两个设备在同一个平台下吗?假设我有一台笔记本电脑,并且 GPU 与处理器集成在一起。此外,这是否会禁止我将 GPU 和 CPU 设备分配到相同的上下文? (我读过有一些内存共享优势)

【问题讨论】:

    标签: opencl intel


    【解决方案1】:

    我不应该期望这两个设备在同一个平台下

    仅当供应商为这两种设备提供带有驱动程序的平台时。我不确定英特尔的“NEO”平台是否也有 CPU 驱动程序,但我很确定“CPU 运行时”只有 CPU 驱动程序,而不是 iGPU。您必须列出每个平台的设备才能找到。

    这是否会禁止我将 GPU 和 CPU 设备分配到相同的上下文中

    您必须列出设备 - 如果 NEO 有两个设备,那么您可以使用它。但是你不能在一个上下文中拥有来自不同平台的设备。

    【讨论】:

    • 这是整个清单,所以我想 NEO 没有 CPU 驱动程序。非常感谢!
    猜你喜欢
    • 2021-11-03
    • 2014-08-28
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 2021-08-08
    相关资源
    最近更新 更多