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