Использование Python + Theano с OpenCL в AMD GPU
Я пытаюсь использовать Python с Theano, чтобы ускорить некоторый код с OpenCL. Я установил libgpuarray
и pygpu
в соответствии с инструкциями (я думаю) и не получил ошибок. В ходе установки была обнаружена установленная среда OpenCL.
Я просто не могу запустить пример Theano для OpenCL, главным образом потому, что я не знаю, как указать свой графический процессор. Мой графический процессор является Radeon HD 5340/5450/5470
, согласно inxi
. Весь код в документации Theano использует device=cuda0
и единственное место, где упоминается OpenCL, говорится device=openclN
, где N
- число.
Я попробовал device=opencl0
и получил ошибку pygpu
, указав, что правильный формат opencl<int>:<int>
. С тех пор я попробовал любое количество комбинаций чисел (opencl0:0
и таких) и всегда GpuArrayException: Unknown error
.
Моя система - Ubuntu 14.04 x64, а мое оборудование - Toshiba Satellite, 15 ". Я установил Theano
с pip
, а позже установил libgpuarray
в соответствии с инструкциями на своем сайте.
Что я делаю неправильно?
Ответы
Ответ 1
opencl0: 0 правильно. Не могли бы вы подтвердить, что pyopencl работает? У вас может возникнуть проблема с вашим opencl (или компилятором drivers/cl).
Однако, я думаю, что Theano сейчас не работает с OpenCL. В текущем состоянии есть частичная поддержка, достаточно для "привет мир", но недостаточно для запуска какого-либо значимого кода.
См:
https://github.com/Theano/Theano/issues/2189
https://github.com/Theano/Theano/issues/1471
https://github.com/Theano/Theano/issues/2190
https://github.com/Theano/Theano/pull/1732
Подводя итог, нет, большинство вещей не портировано (в том числе, например, Elemwise, что является обычным оператором). Я бы очень хотел увидеть Theano on OpenCL. Это было бы замечательно для AMD. Скоро:)