Jetson/Installing CUDA

< Jetson
Revision as of 06:23, 5 June 2014 by Shervin.emami (talk | contribs) (Created the CUDA native installation instructions. (Needs formatting))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Installing the CUDA Toolkit onto your device for native on-board CUDA development

Download the CUDA Toolkit for L4T by going to "" and downloading the .deb file. (Make sure you use the "Toolkit for L4T" and not the "Toolkit for Ubuntu" since that is for cross-compilation instead of native compilation). You will need to register & log in first before downloading, so the easiest way is perhaps to download the file on your PC. Then if you want to copy the file to your device through your network you can do something like this: scp ~/Downloads/cuda-repo-l4t-wr19.2_6.0-42_armhf.deb ubuntu@tegra-ubuntu:Downloads/. On the device, install the .deb file and the CUDA Toolkit. eg: cd ~/Downloads

  1. Install the CUDA repo metadata that you downloaded manually for L4T

sudo dpkg -i cuda-repo-l4t-r19.2_6.0-42_armhf.deb

  1. Download & install the actual CUDA Toolkit including the OpenGL toolkit from NVIDIA. (It only downloads around 15MB)

sudo apt-get update sudo apt-get install cuda-toolkit-6-0

  1. Add yourself to the "video" group to allow access to the GPU

sudo usermod -a -G video $USER

Add the 32-bit CUDA paths to your .bashrc and start using it in your current shell console: echo "# Add CUDA bin & library paths:" >> ~/.bashrc echo "export PATH=/usr/local/cuda-6.0/bin:$PATH" >> ~/.bashrc echo "export LD_LIBRARY_PATH=/usr/local/cuda-6.0/lib:$LD_LIBRARY_PATH" >> ~/.bashrc source ~/.bashrc Verify that the CUDA Toolkit is installed: nvcc -V

If you think you will write your own CUDA code or you want to see what CUDA can do, then build & run some of the CUDA samples: Install writeable copies of the CUDA samples to your home directory (it will create a "NVIDIA_CUDA-6.0_Samples" folder): /home/ubuntu

Build the CUDA samples (takes around 15 minutes):

   cd ~/NVIDIA_CUDA-6.0_Samples

Run some CUDA samples:

   cd 0_Simple/matrixMul
   cd ../..
   cd 0_Simple/simpleTexture
   cd ../..
   cd 3_Imaging/convolutionSeparable
   cd ../..
   cd 3_Imaging/convolutionTexture
   cd ../..
   Note: Many of the CUDA samples use OpenGL GLX and open graphical windows. If you are running these programs through an SSH remote terminal, you can remotely display the windows on your desktop by typing "export DISPLAY=:0" and then executing the program. (This will only work if you are using a Linux/Unix machine or you run an X server such as the free "Xming" for Windows). eg:
       export DISPLAY=:0
       cd ~/NVIDIA_CUDA-6.0_Samples/2_Graphics/simpleGL
       cd ~/NVIDIA_CUDA-6.0_Samples/3_Imaging/bicubicTexture
       cd ~/NVIDIA_CUDA-6.0_Samples/3_Imaging/bilateralFilter
   Note: the Optical Flow sample (HSOpticalFlow) and 3D stereo sample (stereoDisparity) take rougly 1 minute each to execute since they compare results with CPU code.