Нампи, BLAS и CUBLAS

Numpy может быть «связан/скомпилирован» с различными реализациями BLAS (MKL, ACML, ATLAS, GotoBlas и т. д.). Это не всегда просто настроить, но это возможно.

Можно ли также «связать/скомпилировать» numpy с реализацией NVIDIA CUBLAS?
Я не смог найти никаких ресурсов в Интернете, и прежде чем тратить слишком много времени на попытки, я хотел убедиться, что это вообще возможно.


person Ümit    schedule 20.07.2012    source источник


Ответы (2)


Одним словом: нет, так нельзя.

Существует довольно хороший scikit, который обеспечивает доступ к CUBLAS из scipy под названием scikits.cuda, который построен поверх PyCUDA. PyCUDA предоставляет класс, подобный numpy.ndarray, который легко позволяет манипулировать массивами numpy в памяти графического процессора с помощью CUDA. Таким образом, вы можете использовать CUBLAS и CUDA с numpy, но вы не можете просто связать CUBLAS и ожидать, что это сработает.

Существует также коммерческая библиотека, которая предоставляет функциональность, похожую на numpy и cublas, и которая имеет интерфейс или привязки Python, но я оставлю это одному из их зазывал, чтобы рассказать вам об этом.

person talonmies    schedule 20.07.2012
comment
Спасибо за информацию. Я знаю о различных библиотеках Python, которые позволяют получить доступ к CUDA. Однако я подумал, что если бы я мог просто настроить Numpy для использования Cublas, мне не пришлось бы ничего менять в существующем коде (в настоящее время он использует numpy.dot() и другие функции Linealg с MKL или GotoBlas2), и я мог бы проводить сравнения производительности. Просто из любопытства: вы случайно не знаете, по каким техническим причинам невозможно связать numpy с CUBLAS? - person Ümit; 20.07.2012
comment
Это потому, что API не то же самое, и существует целый уровень управления памятью, о котором стандартное приложение blas ничего не знает. - person talonmies; 20.07.2012
comment
Это может изменить ситуацию: devblogs.nvidia.com/parallelforall/ хотя это относится к октаве, это также должно работать для Numpy - person Ümit; 17.09.2014
comment
cupy.chainer.org лучше, чем в вашем ответе? - person endolith; 16.01.2020