Opencl SYCL设备选择器中的主机选择器是什么?

Opencl SYCL设备选择器中的主机选择器是什么?,opencl,gpu,gpgpu,sycl,Opencl,Gpu,Gpgpu,Sycl,我是SYCL、OpenCL和GPU编程的新手。我在SYCL中阅读了有关设备选择器的内容,发现了以下四个方面: 默认_选择器:由系统启发式选择的设备。如果未找到OpenCL设备,则默认为SYCL主机设备 gpu选择器:根据设备类型信息::设备::设备类型::gpu从所有可用的OpenCL设备中选择设备。 如果未找到OpenCL GPU设备,选择器将失败 cpu_选择器:根据设备类型信息选择设备::设备::设备_类型::从所有可用设备和 启发法。如果未找到OpenCL CPU设备,选择器将失败 主机

我是SYCL、OpenCL和GPU编程的新手。我在SYCL中阅读了有关设备选择器的内容,发现了以下四个方面:

  • 默认_选择器:由系统启发式选择的设备。如果未找到OpenCL设备,则默认为SYCL主机设备
  • gpu选择器:根据设备类型信息::设备::设备类型::gpu从所有可用的OpenCL设备中选择设备。 如果未找到OpenCL GPU设备,选择器将失败
  • cpu_选择器:根据设备类型信息选择设备::设备::设备_类型::从所有可用设备和 启发法。如果未找到OpenCL CPU设备,选择器将失败
  • 主机选择器:选择不需要OpenCL运行时的SYCL主机CPU设备
  • 我运行了
    computecpp\u info
    以查找以下设备:

    $ /usr/local/computecpp/bin/computecpp_info
    /usr/local/computecpp/bin/computecpp_info: /usr/local/cuda-8.0/lib64/libOpenCL.so.1: no version information available (required by /usr/local/computecpp/bin/computecpp_info)
    /usr/local/computecpp/bin/computecpp_info: /usr/local/cuda-8.0/lib64/libOpenCL.so.1: no version information available (required by /usr/local/computecpp/bin/computecpp_info)
    ********************************************************************************
    
    ComputeCpp Info (CE 0.7.0)
    
    ********************************************************************************
    
    Toolchain information:
    
    GLIBC version: 2.19
    GLIBCXX: 20150426
    This version of libstdc++ is supported.
    
    ********************************************************************************
    
    
    Device Info:
    
    Discovered 3 devices matching:
      platform    : <any>
      device type : <any>
    
    --------------------------------------------------------------------------------
    Device 0:
    
      Device is supported                     : NO - Device does not support SPIR
      CL_DEVICE_NAME                          : GeForce GTX 750 Ti
      CL_DEVICE_VENDOR                        : NVIDIA Corporation
      CL_DRIVER_VERSION                       : 384.111
      CL_DEVICE_TYPE                          : CL_DEVICE_TYPE_GPU 
    --------------------------------------------------------------------------------
    Device 1:
    
      Device is supported                     : UNTESTED - Device not tested on this OS
      CL_DEVICE_NAME                          : Intel(R) HD Graphics
      CL_DEVICE_VENDOR                        : Intel(R) Corporation
      CL_DRIVER_VERSION                       : r5.0.63503
      CL_DEVICE_TYPE                          : CL_DEVICE_TYPE_GPU 
    --------------------------------------------------------------------------------
    Device 2:
    
      Device is supported                     : YES - Tested internally by Codeplay Software Ltd.
      CL_DEVICE_NAME                          : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
      CL_DEVICE_VENDOR                        : Intel(R) Corporation
      CL_DRIVER_VERSION                       : 1.2.0.475
      CL_DEVICE_TYPE                          : CL_DEVICE_TYPE_CPU 
    
    If you encounter problems when using any of these OpenCL devices, please consult
    this website for known issues:
    https://computecpp.codeplay.com/releases/v0.7.0/platform-support-notes
    
    $/usr/local/computecpp/bin/computecpp\u info
    /usr/local/computecpp/bin/computecpp_info:/usr/local/cuda-8.0/lib64/libOpenCL.so.1:没有可用的版本信息(由/usr/local/computecpp/bin/computecpp_info所需)
    /usr/local/computecpp/bin/computecpp_info:/usr/local/cuda-8.0/lib64/libOpenCL.so.1:没有可用的版本信息(由/usr/local/computecpp/bin/computecpp_info所需)
    ********************************************************************************
    计算CPP信息(CE 0.7.0)
    ********************************************************************************
    工具链信息:
    GLIBC版本:2.19
    GLIBCXX:20150426
    支持此版本的libstdc++。
    ********************************************************************************
    设备信息:
    发现3个设备匹配:
    站台:
    设备类型:
    --------------------------------------------------------------------------------
    设备0:
    支持设备:否-设备不支持SPIR
    CL_装置名称:GeForce GTX 750 Ti
    CL_设备供应商:NVIDIA公司
    CL_驱动程序_版本:384.111
    CL_设备类型:CL_设备类型\u GPU
    --------------------------------------------------------------------------------
    设备1:
    支持设备:未测试-未在此操作系统上测试设备
    CL_设备名称:英特尔(R)高清图形
    CL_设备供应商:英特尔(R)公司
    CL_驱动程序_版本:r5.0.63503
    CL_设备类型:CL_设备类型\u GPU
    --------------------------------------------------------------------------------
    设备2:
    支持设备:是-由Codeplay软件有限公司进行内部测试。
    CL_设备名称:英特尔(R)核心(TM)i7-4790 CPU@3.60GHz
    CL_设备供应商:英特尔(R)公司
    CL_驱动程序_版本:1.2.0.475
    CL_设备类型:CL_设备类型\u CPU
    如果您在使用这些OpenCL设备时遇到问题,请咨询
    有关已知问题,请访问此网站:
    https://computecpp.codeplay.com/releases/v0.7.0/platform-support-notes
    
    因此,
    GeForce GTX 750 Ti
    Intel(R)HD Graphics
    设备是GPU设备,
    Intel(R)Core(TM)i7-4790 CPU@3.60GHz
    是CPU设备。这里有关于主机设备的内容吗


    如果我选择主机选择器,我的SYCL代码将在哪里运行?

    在SYCL中有主机设备和OpenCL设备的概念。OpenCL设备是任何支持OpenCL的设备,如Intel GPU、AMD GPU、支持OpenCL的FPGA等

    另一方面,主机设备是操作OpenCL设备的设备。本质上,它是您的cpu,它控制所有连接的支持OpenCL的设备,而不是单独使用OpenCL。有时,一些CPU供应商提供OpenCL驱动程序,使您能够在CPU上运行OpenCL。在这种情况下,主机设备和OpenCL设备共享相同的硬件组件

    在您的情况下,Intel为CPU和GPU提供了OpenCL实现,因此您的所有设备都支持OpenCL。即使没有OpenCL设备,主机设备也存在


    我还想指出,ComputeCpp包含对NVidia的实验支持,因此您可以在该平台上运行SYCL,但没有任何保证

    谢谢Marios K!!!我还有几个问题,请回答。问题是