Совместимость библиотеки PyCUDA NPP

Я пытался получить доступ к библиотеке Nvidia Performance Primitives через Python и нашел на этом сайте очень полезный учебник, последний раз обновленный в 2011 году: http://openvidia.sourceforge.net/index.php/OpenVIDIA./python

Однако после загрузки набора инструментов CUDA 6.0 я вообще не могу найти какие-либо файлы CUDA ".dll" (например, упомянутые в начале руководства). Благодаря ответам здесь я знаю, что имена файлов должны отличаться от названий в учебнике, но я не могу их найти.

Кто-нибудь знает альтернативный метод или команду для импорта библиотеки? Любая помощь будет принята с благодарностью, и если я пропустил какие-либо ключевые детали, пожалуйста, дайте мне знать.

Плата: Jetson TK1 ОС: L4T Ubuntu 14.04 (от https://developer.nvidia.com/jetson-tk1-support) Язык: Python 2.7


person Dan Lenton    schedule 18.08.2014    source источник
comment
Учебник очень старый и относится к библиотекам DLL, включенным в CUDA Toolkit 3.2 (который устарел). Последними версиями этих DLL, включенными в CUDA Toolkit 6.0, являются cudart32_60.dll, nppc32_60.dll, npps32_60.dll и nppi32_60.dll. NPP был разделен на 3 отдельных модуля (ядро, обработка сигналов и обработка изображений).   -  person sgarizvi    schedule 18.08.2014
comment
Большое спасибо за помощь, очень признателен, хотя быстрый поиск файлов показывает, что у меня тоже нет этих файлов. На самом деле при поиске .dll во всех файлах возвращается только 3, ни одна из которых не привязана к CUDA. Я также прикрепил к вопросу результаты поиска nppi на случай, если это поможет. Я переустановлю инструментарий CUDA 6.0, если это покажется неправильным. Кроме того, возможно, это само собой разумеется, но ОС представляет собой специальный линукс для дистрибутива tegra (L4T). Эта ОС, а также набор инструментов CUDA были загружены с сайта Nvidia (developer.nvidia.com /jetson-tk1-support).   -  person Dan Lenton    schedule 18.08.2014
comment
* К сожалению, я пока не могу прикреплять изображения   -  person Dan Lenton    schedule 18.08.2014
comment
.dll — это файл общей библиотеки Windows (расширение). Вы не найдете их (обычно) в установках Linux. Аналогичная функция в Linux предоставляется файлом .so. Например, вы наверняка сможете найти libcudart.so на своем компьютере. Я не утверждаю, что использование репозитория, на который вы ссылаетесь, так же просто, как преобразование .dll в .so или что-то в этом роде. Если репозиторий, на который вы ссылаетесь, предназначен для Windows (только), то изменить его для работы в Linux, вероятно, не так просто, хотя обычно это выполнимо с некоторыми усилиями.   -  person Robert Crovella    schedule 18.08.2014
comment
Хорошо, спасибо большое. Вы можете сказать, что мой опыт не связан с компьютерами! Я поиграю с файлами .so и посмотрю, смогу ли я с их помощью импортировать библиотеку в Python.   -  person Dan Lenton    schedule 18.08.2014
comment
Ну, загрузка CUDA была для Linux, поэтому указанный репозиторий не будет для Windows. В любом случае проблема решена, я просто воспользовался командой cdll.LoadLibrary() из библиотеки ctypes и вызвал файлы libnppi.so и libcudart.so. сработало отлично, спасибо за помощь!   -  person Dan Lenton    schedule 18.08.2014


Ответы (1)


Я просто использовал команду cdll.LoadLibrary() из библиотеки ctypes и вызвал файлы «libnppi.so» и «libcudart.so». Сработало отлично, спасибо за помощь!

person Dan Lenton    schedule 18.08.2014