Numpy, BLAS и CUBLAS
Numpy может быть "связан / скомпилирован" с различными реализациями BLAS (MKL, ACML, ATLAS, GotoBlas и т. Д.). Это не всегда просто настроить, но это возможно.
Возможно ли также "связать / скомпилировать" numpy против реализации NVIDIA CUBLAS?
Я не мог найти какие-либо ресурсы в Интернете, и прежде чем потратить слишком много времени на его попытки, я хотел убедиться, что это вообще возможно.
2 ответа
Одним словом: нет, ты не можешь этого сделать.
Существует довольно хороший scikit, который предоставляет доступ к CUBLAS из scipy, который называется scikits.cuda
который построен на вершине PyCUDA. PyCUDA предоставляет numpy.ndarray
как класс, который легко позволяет манипулировать массивами в памяти GPU с помощью CUDA. Таким образом, вы можете использовать CUBLAS и CUDA с numpy, но вы не можете просто ссылаться на CUBLAS и ожидать, что он будет работать.
Есть также коммерческая библиотека, которая предоставляет функциональность, похожую на numpy и cublas, и которая имеет интерфейс или привязки Python, но я оставлю это на усмотрение одного из них.
Вот еще одна возможность:
http://www.cs.toronto.edu/~tijmen/gnumpy.html
в основном это среда gnumpy + cudamat, которую можно использовать для использования графического процессора. также тот же код может быть запущен без gpu с помощью npmat. перейдите по ссылке выше, чтобы загрузить все эти файлы.