【问题标题】:clinfo device cpu-gpu info [closed]clinfo 设备 cpu-gpu 信息 [关闭]
【发布时间】:2014-04-18 19:05:00
【问题描述】:

任何人都可以告诉我为什么我的 gpu 的最大工作项小于 cpu 和计算单元??? cpu的平均性能比gpu好吗

cpu : 英特尔酷睿 i7 2.2GH 显卡:AMD Radeon HD 6700M



Number of platforms:                             2
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 1.2 AMD-APP (1084.2)
  Platform Name:                                 AMD Accelerated Parallel Proces
sing
  Platform Vendor:                               Advanced Micro Devices, Inc.
  Platform Extensions:                           cl_khr_icd cl_amd_event_callbac
k cl_amd_offline_devices cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_me
dia_sharing
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 1.2
  Platform Name:                                 Intel(R) OpenCL
  Platform Vendor:                               Intel(R) Corporation
  Platform Extensions:                           cl_khr_fp64 cl_khr_icd cl_khr_g
lobal_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_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sh
aring cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing


  Platform Name:                                 AMD Accelerated Parallel Proces
sing
Number of devices:                               2
  Device Type:                                   CL_DEVICE_TYPE_GPU
  Device ID:                                     4098
  Max compute units:                             6
  Max work items dimensions:                     3
    Max work items[0]:                           256
    Max work items[1]:                           256
    Max work items[2]:                           256
  Max work group size:                           256
  Preferred vector width char:                   16
  Preferred vector width short:                  8
  Preferred vector width int:                    4
  Preferred vector width long:                   2
  Preferred vector width float:                  4
  Preferred vector width double:                 0
  Native vector width char:                      16
  Native vector width short:                     8
  Native vector width int:                       4
  Native vector width long:                      2
  Native vector width float:                     4
  Native vector width double:                    0
  Max clock frequency:                           725Mhz
  Address bits:                                  32
  Max memory allocation:                         536870912
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    None
  Cache line size:                               0
  Cache size:                                    0
  Global memory size:                            2147483648
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue properties:
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   02843864
  Name:                                          Turks
  Vendor:                                        Advanced Micro Devices, Inc.
  Driver version:                                1084.2 (VM)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1084.2)
  Extensions:                                    cl_khr_global_int32_base_atomic
s cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_lo
cal_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store
cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd
_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d
x9_media_sharing


  Device Type:                                   CL_DEVICE_TYPE_CPU
  Device ID:                                     4098
  Max compute units:                             8
  Max work items dimensions:                     3
    Max work items[0]:                           1024
    Max work items[1]:                           1024
    Max work items[2]:                           1024
  Max work group size:                           1024
  Preferred vector width char:                   16
  Preferred vector width short:                  8
  Preferred vector width int:                    4
  Preferred vector width long:                   2
  Preferred vector width float:                  8
  Preferred vector width double:                 4
  Native vector width char:                      16
  Native vector width short:                     8
  Native vector width int:                       4
  Native vector width long:                      2
  Native vector width float:                     8
  Native vector width double:                    4
  Max clock frequency:                           2195Mhz
  Address bits:                                  32
  Max memory allocation:                         1073741824
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            8192
  Max image 2D height:                           8192
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   4096
  Alignment (bits) of base address:              1024
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     Yes
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    32768
  Global memory size:                            2147483648
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Global
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     1
  Error correction support:                      0
  Unified memory for Host and Device:            1
  Profiling timer resolution:                    466
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     Yes
  Queue properties:
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   02843864
  Name:                                                Intel(R) Core(TM) i7-2670
QM CPU @ 2.20GHz
  Vendor:                                        GenuineIntel
  Driver version:                                1084.2 (sse2,avx)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1084.2)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_
global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int3
2_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr
_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_at
tribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt cl_khr_d3
d10_sharing


  Platform Name:                                 Intel(R) OpenCL
Number of devices:                               1
  Device Type:                                   CL_DEVICE_TYPE_CPU
  Device ID:                                     32902
  Max compute units:                             8
  Max work items dimensions:                     3
    Max work items[0]:                           1024
    Max work items[1]:                           1024
    Max work items[2]:                           1024
  Max work group size:                           1024
  Preferred vector width char:                   1
  Preferred vector width short:                  1
  Preferred vector width int:                    1
  Preferred vector width long:                   1
  Preferred vector width float:                  1
  Preferred vector width double:                 1
  Native vector width char:                      16
  Native vector width short:                     8
  Native vector width int:                       4
  Native vector width long:                      2
  Native vector width float:                     8
  Native vector width double:                    4
  Max clock frequency:                           2200Mhz
  Address bits:                                  32
  Max memory allocation:                         536838144
  Image support:                                 Yes
  Max number of images read arguments:           480
  Max number of images write arguments:          480
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    480
  Max size of kernel argument:                   3840
  Alignment (bits) of base address:              1024
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     Yes
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               No
    Round to +ve and infinity:                   No
    IEEE754-2008 fused multiply-add:             No
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    262144
  Global memory size:                            2147352576
  Constant buffer size:                          131072
  Max number of constant args:                   480
  Local memory type:                             Global
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     128
  Error correction support:                      0
  Unified memory for Host and Device:            1
  Profiling timer resolution:                    466
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     Yes
  Queue properties:
    Out-of-Order:                                Yes
    Profiling :                                  Yes
  Platform ID:                                   00401218
  Name:                                                Intel(R) Core(TM) i7-2670
QM CPU @ 2.20GHz
  Vendor:                                        Intel(R) Corporation
  Driver version:                                3.0.1.15216
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 (Build 80752)
  Extensions:                                    cl_khr_fp64 cl_khr_icd cl_khr_g
lobal_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_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sh
aring cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing

为什么会看到三种设备类型,两种用于 cpu,一种用于 gpu opencl for intel for cpu or built-in gpu 我有两个显示适配器:AMD Radeon HD 6700M 系列 英特尔高清显卡系列

【问题讨论】:

  • 将其标记为属于su的线程。
  • 什么意思 Max compute units: 6 or 8 。这是否意味着英特尔的核心数量我有核心 i 7 ???仅适用于 gpu 6 ??
  • 拥有更大的工作组大小并​​不意味着您的 CPU 比您的 GPU 具有更高的性能。这只是意味着您可以运行更大的线程组,这些线程可以在彼此之间进行同步。您会看到两个 CPU 设备,因为其中一个是 AMD 的 CPU 实现,另一个是 Intel 的。它们都在相同的硬件上运行。 CPU 和 GPU 之间的计算单元数量没有可比性。 CPU 计算单元通常意味着只有一个核心。而 GPU 计算单元意味着同时运行大量线程的东西。
  • 类比,法拉利 (CPU) 可能比卡车 (GPU) 更快。但它是否有更多的“运输”性能。不,因为法拉利需要 200 次行程才能完成与一次完成所有工作的卡车 (GPU) 的 1 次行程相同。
  • 你们两个 cpu 是什么,一个用于 AMD 实现,另一个是 Intel 的。为什么是两个,因为安装了两个驱动程序???我知道有两个 gpu 一个内置 intel 和其他 amd radeon,我在它们之间切换。 CPU 计算单元通常意味着只有一个核心。而 GPU 计算单元意味着同时运行大量线程的东西。我能知道 gpu 中有多少核心或 gpu 中运行的线程数吗

标签: opencl gpu cpu


【解决方案1】:

“我的 GPU 有多少个内核/处理元件/硬件线程?” 是新 GPGPU 用户经常问到的问题。我通常的回答是“你为什么在乎?”。无法使用 OpenCL API 查询设备具有的处理元素的数量。不同架构之间究竟是什么构成了处理元素和计算单元。

现实情况是,您的设备有多少处理元素并不重要,因为无论如何使用此指标来估计设备性能是一种非常糟糕的方法。如果您确实需要知道设备对于您的特定应用程序有多快,那么您应该对其进行基准测试(直接使用您的应用程序,或者使用与您的应用程序具有相似属性的微基准测试)。

回答您的另一个问题:您的系统上有两个 OpenCL 实现,它们能够使用 CPU、Intel 和 AMD。因此,两个平台都会将 CPU 报告为可用的 OpenCL 设备。

【讨论】:

  • 我厌倦了这个问题。但我认为我们必须长时间处理它......事实上这是一个合乎逻辑的问题。人们仍然会来自 CPU 世界并尝试手动控制每个“线程”并确切地知道它们的数量。即使 GPU 将拥有数百万个并行内核......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多