2017-02-16 29 views
1

У меня есть проект с использованием OpenCL, который работает на моем MAC со следующими спецификациями:программа OpenCL не работает на Tesla M60 GPU

MacBook Air (13-inch, Mid 2013) 
1.3 GHz Intel Core i5 
Intel HD Graphics 5000 1536 MB 

на EC2 случаях АМС со следующими спецификациями:

g2.2xlarge Instance. 
Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz 
NVIDIA GRID GPU (Kepler GK104) with 
Ubuntu 14.04 - 64 bit. 

Он также работает с другими экземплярами g2 и p2, поскольку у них есть графические процессоры.

Но это не работает на NV6 - MS Azure TESLA M60 GPU. Спецификации являются:

GPU: 1 x M60 GPU (1/2 Physical Card) 
Ubuntu 14.04.5 LTS 
Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz (x 6) 

У меня есть следующие выходы из следующих команд:

clinfo:

clinfo: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by clinfo) 
I: ICD loader reports no usable platforms 

Утилита lspci:

00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03) 
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01) 
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02) 
00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA 

Nvidia Query Device:

./deviceQuery Starting... 

CUDA Device Query (Runtime API) version (CUDART static linking) 
NVIDIA: no NVIDIA devices found 
cudaGetDeviceCount returned 30 
-> unknown error 
Result = FAIL 

И когда я пытаюсь запустить мою программу. Я получаю следующую ошибку:

Exception 
ERROR: clGetPlatformIDs(-1001) 

В чем проблема? Является ли Tesla M60 не поддерживающим OpenCL? Что означает clGetPlatformIDs (-1001)? Не установлена ​​ли моя установка OpenCL? Потому что у меня такая же процедура установки и все на остальных машинах, и она отлично работает. Но здесь он дает ошибки.

+0

драйверы не установлены, может быть? –

+0

как это проверить? –

+0

http://www.nvidia.com/object/mac-driver-archive.html и https://developer.nvidia.com/opencl –

ответ

0

Для того, чтобы загрузчик ICD загрузил платформу NVIDIA OpenCL, ему нужен файл .icd, расположенный по адресу /etc/OpenCL/vendors. На моем ноутбуке у меня есть /etc/OpenCL/vendors/nvidia.icd, который содержит libnvidia-opencl.so.1. Эта библиотека живет в /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1 и является символической ссылкой на libnvidia-opencl.so.367.57 в той же папке. Убедитесь, что у вас есть эти файлы в этих местах.