2014-10-02 207 views
0

我們創建了一個小程序來檢測至強融核,這裏是我們的代碼片段的OpenCL沒有檢測至強融核

 std::vector<cl::Platform> platformList(5); 
    std::vector<cl::Device> deviceList; 
    cl::Platform::get(&platformList); 
    if(platformList.size() == 0){ 
      std::cout << "No Platforms found. Check OpenCL installation!" << std::endl; 
      exit(1); 
    } 

    for(i=0; i<platformList.size(); i++){ 
    // for(i=0; i<1; i++){ 
      std::cout << platformList[i].getInfo<CL_PLATFORM_NAME>()<< std::endl; 
      platformList[i].getDevices(CL_DEVICE_TYPE_ALL, &deviceList); 
      if(deviceList.size() == 0){ 
        std::cout << "No Devices found. Check OpenCL installation!" << std::endl; 
        exit(1); 
      } 

      for(j=0; j<deviceList.size(); j++){ 
        // dims = deviceList[j].getInfo<CL_DEVICE_MAX_WORK_ITEM_SIZES>(); 
        // for(k=0; k<dims.size(); k++) 
        // std::cout << dims[k] << std::endl; 
        std::cout << deviceList[j].getInfo<CL_DEVICE_NAME>()<< std::endl; 
      } 
    } 

    cl::Device device = deviceList[j-1]; 

    std::cout << "Using device: " << device.getInfo<CL_DEVICE_NAME>() << std::endl; 

,但沒有檢測到披,我們只能得到這樣的輸出;

Intel(R) OpenCL 
     Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz 
Using device:  Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz 
Hello World 

你知道我們做錯了什麼嗎?

P.S.下面你能找到micinfo輸出

MicInfo Utility Log 
Copyright 2011-2013 Intel Corporation All Rights Reserved. 

Created Thu Oct 2 15:04:08 2014 


    System Info 
     HOST OS   : Linux 
     OS Version  : 2.6.32-431.el6.x86_64 
     Driver Version  : 3.2-1 
     MPSS Version  : 3.2 
     Host Physical Memory : 16274 MB 

Device No: 0, Device Name: mic0 

    Version 
     Flash Version  : 2.1.02.0390 
     SMC Firmware Version  : 1.16.5078 
     SMC Boot Loader Version : 1.8.4326 
     uOS Version   : 2.6.38.8+mpss3.2 
     Device Serial Number  : ADKC32800437 

    Board 
     Vendor ID  : 0x8086 
     Device ID  : 0x225d 
     Subsystem ID   : 0x3608 
     Coprocessor Stepping ID : 2 
     PCIe Width  : Insufficient Privileges 
     PCIe Speed  : Insufficient Privileges 
     PCIe Max payload size : Insufficient Privileges 
     PCIe Max read req size : Insufficient Privileges 
     Coprocessor Model : 0x01 
     Coprocessor Model Ext : 0x00 
     Coprocessor Type  : 0x00 
     Coprocessor Family : 0x0b 
     Coprocessor Family Ext : 0x00 
     Coprocessor Stepping  : C0 
     Board SKU  : C0PRQ-3120/3140 P/A 
     ECC Mode   : Enabled 
     SMC HW Revision  : Product 300W Active CS 

    Cores 
     Total No of Active Cores : 57 
     Voltage   : 0 uV 
     Frequency  : 1100000 kHz 

    Thermal 
     Fan Speed Control : On 
     Fan RPM   : 1200 
     Fan PWM   : 20 
     Die Temp   : 45 C 

    GDDR 
     GDDR Vendor  : Elpida 
     GDDR Version   : 0x1 
     GDDR Density   : 2048 Mb 
     GDDR Size  : 5952 MB 
     GDDR Technology  : GDDR5 
     GDDR Speed  : 5.000000 GT/s 
     GDDR Frequency  : 2500000 kHz 
     GDDR Voltage   : 1501000 uV 
+0

您是否爲Phi安裝了OpenCL驅動程序? 'micinfo'說什麼? – 2014-10-02 12:27:03

+0

我已經增加了帖子,並把關於micinfo的輸出信息 – flow 2014-10-02 13:08:20

+1

我建議你在你的程序上運行'strace'並檢查OpenCL MIC驅動程序是否正確加載。 ('libmic_device.so'和'libcoi_host.so')。 – 2014-10-02 13:23:44

回答

2

你可能想看看https://software.intel.com/en-us/articles/opencl-runtime-release-notes。它比Cicada指向您的頁面更新,並提供了英特爾®OpenCL™Runtime 14.2的鏈接。

libmic_device.so包含在OpenCL運行時中,默認情況下在/ opt/intel/opencl {version_number}/lib64中。您需要確保該路徑位於您的LD_LIBRARY_PATH環境變量中。您還需要確保/ opt/intel/opencl {version_number}/mic位於您的MIC_LD_LIBRARY_PATH環境變量中。

您已經安裝了Intel MPSS;否則micinfo將無法工作。 libcoi_host.so包含在MPSS中,並安裝在/ usr/lib64中,該文件已存在於您的庫搜索路徑中。

您正在運行的MPSS版本是3.2-1。發佈說明網頁上的OpenCL運行時14.1的「新增功能」說明表示,在MPSS 3.2-1下版本14.1不穩定。我試圖找出是否有不同版本的運行時,您可以使用MPSS 3.2-1更穩定,或者如果唯一的建議是安裝更新的MPSS。您可以在https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss找到最新的MPSS版本。