【问题标题】:OpenCL ATI Mobility Radeon 4500 and Intel Core(TM)2 Duo CPUOpenCL ATI Mobility Radeon 4500 和 Intel Core(TM)2 Duo CPU
【发布时间】:2014-12-14 14:53:24
【问题描述】:

我的笔记本电脑有 ATI Radeon 4500 显卡和 Intel(R) Core(TM)2 Duo CPU P8700 2.53GHz 作为 CPU。当我查询 OpenCL 的平台时,输出是这样的:

    Found 2 Platforms
==================Platform No 0======================
CL_PLATFORM_NAME   : AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR : Advanced Micro Devices, Inc.
CL_PLATFORM_VERSION: OpenCL 1.2 AMD-APP (937.2)
CL_PLATFORM_PROFILE: FULL_PROFILE
CL_PLATFORM_EXTENSIONS: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
======================================================

==================Platform No 1======================
CL_PLATFORM_NAME   : Intel(R) OpenCL
CL_PLATFORM_VENDOR : Intel(R) Corporation
CL_PLATFORM_VERSION: OpenCL 1.2 LINUX
CL_PLATFORM_PROFILE: FULL_PROFILE
CL_PLATFORM_EXTENSIONS: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_intel_exec_by_local_thread cl_khr_depth_images cl_khr_3d_image_writes cl_khr_fp64 
======================================================

当我查询 opencl 设备时,输出是这样的

Number of OpenCL platforms available in the system: 2
Printing OpenCL Device Info For Platform ID : 0
==================Device No 0======================
CL_DEVICE_NAME: ATI RV710
CL_DEVICE_VENDOR: Advanced Micro Devices, Inc.
CL_DRIVER_VERSION: CAL 1.4.1734
CL_DEVICE_VERSION: OpenCL 1.0 AMD-APP (937.2)
CL_DEVICE_MAX_COMPUTE_UNITS: 2
====================================================

==================Device No 1======================
CL_DEVICE_NAME: Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz
CL_DEVICE_VENDOR: GenuineIntel
CL_DRIVER_VERSION: 2.0 (sse2)
CL_DEVICE_VERSION: OpenCL 1.2 AMD-APP (937.2)
CL_DEVICE_MAX_COMPUTE_UNITS: 2
====================================================


Printing OpenCL Device Info For Platform ID : 1
==================Device No 0======================
CL_DEVICE_NAME: Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz
CL_DEVICE_VENDOR: Intel(R) Corporation
CL_DRIVER_VERSION: 1.2.0.92
CL_DEVICE_VERSION: OpenCL 1.2 (Build 92)
CL_DEVICE_MAX_COMPUTE_UNITS: 2
====================================================

我觉得有些不对劲。因为在属于显卡的 Platform ID 0 中有两个设备。一个用于 AMD(ATI),另一个用于 Intel。但是在属于 Intel CPU 的 Platform ID 1 中只有一个设备。 我已经安装了 AMD APP 和 Intel OpenCL 库。 我可以在 AMD Codex 软件中看到这个输出,并且我确信代码的输出。 为什么 ATI(AMD) 显卡显示两个设备,而我的 CPU 中有两个内核。 我很混乱。 请帮忙。 谢谢

【问题讨论】:

    标签: opencl


    【解决方案1】:

    AMD OpenCL 实施支持 CPU 和 AMD GPU。但是,英特尔 OpenCL 实现也支持 CPU,也支持英特尔 GPU(至少在 Windows 系统上),但它支持 AMD GPU。所以你的输出非常好,没有任何问题。

    【讨论】:

    • 基于“OpenCL 示例编程”一书中的this 图片,平台中的每个设备都应归类在该平台下。但在我的电脑中,英特尔 cpu 设备也包含在 ATI(AMD) 平台中。怎么会这样?
    • 仔细阅读这个答案。第一句话说明 AMD 的 OpenCL 可以针对任何 CPU,而不仅仅是 AMD CPU。
    • AMD 平台和 Intel 平台都暴露了 CPU 设备。是同一个CPU。根据我的经验,英特尔的 CPU 驱动程序生成的代码比 AMD 的更快。
    猜你喜欢
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    相关资源
    最近更新 更多