Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCL ATI Mobility Radeon 4500和Intel Core(TM)2双CPU_Opencl - Fatal编程技术网

OpenCL ATI Mobility Radeon 4500和Intel Core(TM)2双CPU

OpenCL ATI Mobility Radeon 4500和Intel Core(TM)2双CPU,opencl,Opencl,我的笔记本电脑有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 : Adva

我的笔记本电脑有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
====================================================
我觉得有点不对劲。因为在属于图形卡的平台ID 0中有两个设备。一个用于AMD(ATI),另一个用于Intel。但在属于Intel CPU的平台ID 1中,只有一个设备。 我已经安装了AMD应用程序和英特尔OpenCL库。 我可以在AMD Codex软件中看到这个输出,我确信代码的输出。 为什么ATI(AMD)图形卡显示两个设备,而我的CPU中有两个核心。 我很困惑。 请帮忙。
谢谢

AMD OpenCL实现支持CPU和AMD GPU。然而,“英特尔OpenCL”实现也支持CPU,而“英特尔GPU”(至少在windows系统上)则不支持AMD GPU。因此,您的输出非常好,没有任何错误。

根据《OpenCL编程示例》一书中的图片,平台中的每个设备都应归入该平台。但在我的电脑中,intel cpu设备也包含在ATI(AMD)平台中。这是怎么发生的?请仔细再读一遍这个答案。第一句话指出,AMD的OpenCL可以针对任何CPU,而不仅仅是AMD CPU。AMD平台和Intel平台都公开了CPU设备。它是同一个CPU。根据我的经验,英特尔的CPU驱动程序比AMD的产生更快的代码。