2

I've been trying to access the Nvidia Performance Primitives library through Python, and I found a very useful tutorial last updated in 2011 at this site: http://openvidia.sourceforge.net/index.php/OpenVIDIA/python

However, after downloading the CUDA 6.0 toolkit I can't seem to find any CUDA ".dll" files at all (like those referenced near the start of the tutorial). Thanks to responses on here, I know the file names should be different to those in the tutorial, but I can't find any.

Does anybody know an alternative method or command to import the library? Any help would be greatly appreciated, and if I've missed any key details then please let me know.

Board: Jetson TK1 OS: L4T Ubuntu 14.04 (from https://developer.nvidia.com/jetson-tk1-support) Language: Python 2.7

Cœur
  • 37,241
  • 25
  • 195
  • 267
Dan Lenton
  • 105
  • 9
  • 3
    The tutorial is very old and it is referring to the DLLs included with CUDA Toolkit 3.2 (which is wayyyyyy old). The latest versions of these DLLs included with CUDA Toolkit 6.0 are `cudart32_60.dll`, `nppc32_60.dll`, `npps32_60.dll` and `nppi32_60.dll`. NPP has been split into 3 separate modules (Core, Signal Processing and Image Processing). – sgarizvi Aug 18 '14 at 11:50
  • Thanks a lot for the help, much appreciated, although a quick file search suggests I don't have these files either. In fact, when searching for ".dll" in all files only 3 are returned, none of which are linked to CUDA. I've also attached the output from a "nppi" search in the question in case it helps. I will re-install the CUDA 6.0 toolkit if this seems to be wrong. Also, Perhaps it goes without saying, but the OS is a special linux for tegra (L4T) distribution. This OS, as well as the CUDA toolkit, were downloaded from the Nvidia site (https://developer.nvidia.com/jetson-tk1-support). – Dan Lenton Aug 18 '14 at 13:07
  • * Sorry I can't attach images yet unfortunately – Dan Lenton Aug 18 '14 at 13:18
  • 3
    A .dll is a windows shared library file (extension). You won't find them (typically) on linux installs. A similar function in linux is provided by a .so file. You should certainly be able to locate `libcudart.so` on your machine, as one example. I'm not suggesting that using your referenced repository is as simple as converting .dll to .so, or anything like that. If your referenced repository is designed for windows (only), then modifying it to work on linux probably isn't trivial, although it's usually doable with some effort. – Robert Crovella Aug 18 '14 at 14:22
  • Ok great, thanks a lot. You can tell my background is not in computing! I'll have a play around with the .so files and see if I can get the library imported into Python using them. – Dan Lenton Aug 18 '14 at 14:29
  • Well the CUDA download was for linux so the referenced repository won't have been for windows. In any case the problem is solved, I just used the cdll.LoadLibrary() command from the ctypes library and called the "libnppi.so" and "libcudart.so" files. worked perfectly, thanks for the help! – Dan Lenton Aug 18 '14 at 17:43

1 Answers1

3

I just used the cdll.LoadLibrary() command from the ctypes library and called the "libnppi.so" and "libcudart.so" files. Worked perfectly, thanks for the help!

Dan Lenton
  • 105
  • 9