【问题标题】:Checking if gpu is integrated or not检查gpu是否集成
【发布时间】:2016-10-16 02:24:41
【问题描述】:

我找不到任何关于设备被集成/嵌入到 cpu 或使用系统 RAM 或其自己的专用 gddr 内存的查询命令?我可以对映射/取消映射与读取/写入进行基准测试以得出结论,但该设备当时可能处于负载状态并且行为错误,并且它会增加我正在使用的已经复杂的负载平衡算法的复杂性。

是否有一种简单的方法可以检查 gpu 是否使用与 cpu 相同的内存,以便我可以直接选择映射/取消映射而不是读取/写入?

编辑:有 CL_DEVICE_LOCAL_MEM_TYPE

CL_GLOBAL or CL_LOCAL

这是整合的标志吗?

【问题讨论】:

    标签: opencl


    【解决方案1】:

    OpenCL 1.x 有设备查询CL_DEVICE_HOST_UNIFIED_MEMORY:

    如果设备和主机具有统一的内存子系统,则为 CL_TRUE 否则为 CL_FALSE。

    此查询自 OpenCL 2.0 起已弃用,但目前可能仍可在 OpenCL 2.x 平台上使用。否则,您也许可以从 CL_DEVICE_SVM_CAPABILITIES 的结果中生成启发式算法。

    【讨论】:

    • 是否因为将来一切都将成为主机统一而弃用?我现在在 opencl 1.2 上,以后需要它与 2.x 兼容。
    • 不,以后不是所有的东西都会和宿主机统一内存。我猜它已被弃用,因为它被认为未充分说明,或者因为 SVM 查询提供了更多有用的信息。
    猜你喜欢
    • 1970-01-01
    • 2022-01-27
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 2019-01-12
    • 2018-06-17
    相关资源
    最近更新 更多