OpenCL не обнаруживает Xeon Phi
Мы создали небольшую программу для обнаружения Xeon Phi, вот наш фрагмент кода
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
Вы знаете, что мы делаем не так?
PS ниже вы можете найти вывод 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
1 ответ
Вы можете посмотреть https://software.intel.com/en-us/articles/opencl-runtime-release-notes. Она более свежая, чем страница, на которую указала Cicada, и содержит ссылку на Intel® 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 на веб-странице заметок о выпуске говорится, что версия 14.1 нестабильна в MPSS 3.2-1. Я пытаюсь выяснить, существует ли другая версия среды выполнения, которую вы можете использовать с MPSS 3.2-1, которая является более стабильной, или единственная рекомендация - установить более новую версию MPSS. Вы можете найти последние версии MPSS по адресу https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss.