
Ich habe ein NVidia Jetson TK1-Entwicklungsboard (ARM Cortex A15) mit einer Keplar-GPU, die CUDA unterstützt. Ich möchte darauf dieselbe Bildverarbeitung mit OpenCV 3.0 unter Verwendung von CUDA durchführen.
Beim Durchlesen der NVidida-Dokumente erfuhr ich, dass CUDA nur auf unterstützten Linux-Distributionen installiert werden kann. Die Herausforderung besteht darin, dass ich nicht das mitgelieferte Ubuntu-Betriebssystem verwende, sondern ein leichtes eingebettetes Betriebssystem, das ich mit dem Yocto-Projekt plattformübergreifend kompiliert habe. OpenCV wird mit CUDA-Unterstützung kompiliert und installiert, kann die GPUs jedoch nicht verwenden.
Aber ich weiß, dass es möglich ist, weil jemand in einer Mailingliste es schon einmal getan hat.Hierist das Gespräch. Ich muss nur die richtigen Binärdateien an die richtige Stelle setzen.
Das Problem ist, dass ich nicht weiß, wo ich das „vorkompilierte Treiberpaket von Nvidia“ für meine Architektur bekomme und wo ich es ablegen soll. Für jede Hilfe wäre ich dankbar.
Antwort1
Das ist möglich. Und es ist einfach, wenn Sie apt und dpkg haben. In meinem Fall hatte ich beides nicht und musste sie installieren. Fahren Sie mit „CUDA installieren“ fort, wenn Sie apt bereits haben.
Sie müssen apt installieren, um die CUDA-Binärdateien zu installieren. Sie müssen die nächsten beiden Schritte ausführen, um sicherzustellen, dass Ihr Image apt hat:
- Stellen Sie sicher, dass Ihr Bild
IMAGE_FEATURES += "package-management"
enthalten ist. - Wechseln Sie in der Datei local.conf
PACKAGE_CLASSES
zupackage_deb
- Hinzufügen
gnupg
undapt
zuCORE_IMAGE_EXTRA_INSTALL
CUDA installieren.
Sie müssen also nur die .deb-Datei für das CUDA Toolkit für L4T herunterladen, entweder über einen Webbrowser auf dem Gerät oder auf Ihrem PC. Anschließend können Sie die Datei mit einem USB-Stick oder über das Netzwerk auf Ihr Gerät kopieren. (Stellen Sie sicher, dass Sie das Toolkit für L4T und nicht das Toolkit für Ubuntu herunterladen, da dieses für die Cross-Kompilierung und nicht für die native Kompilierung gedacht ist.)
Sie müssen das Toolkit entsprechend Ihrer L4T-Version herunterladen. Ich verwende beispielsweise R21.4 und könnte meins von herunterladenHier. AnDasSeite finden Sie die Binärdateien für die neueste Version.
Installieren Sie nun die CUDA-Repo-Metadaten, die Sie manuell für L4T heruntergeladen haben
sudo dpkg -i cuda-repo-l4t-<version-you-downloaded>_armhf.deb
Laden Sie das aktuelle CUDA-Toolkit herunter und installieren Sie es, einschließlich des OpenGL-Toolkits von NVIDIA. Der Download beträgt nur etwa 15 MB. Installieren Sie im zweiten Befehl unten „cuda-toolkit-6-0“, wenn Sie CUDA 6.0 heruntergeladen haben, oder „cuda-toolkit-6-5“, wenn Sie CUDA 6.5 usw. heruntergeladen haben.
sudo apt-get update
sudo apt-get install cuda-toolkit-x-x
Fügen Sie sich selbst zur Gruppe „Video“ hinzu, um den Zugriff auf die GPU zu ermöglichen
sudo usermod -a -G video $USER
Fügen Sie die 32-Bit-CUDA-Pfade zu Ihrem .bashrc-Anmeldeskript hinzu und beginnen Sie, es in Ihrer aktuellen Konsole zu verwenden:
echo "# Add CUDA bin & library paths:" >> ~/.bashrc
echo "export PATH=/usr/local/cuda/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
Überprüfen Sie abschließend, ob das CUDA Toolkit auf Ihrem Gerät installiert ist:
nvcc -V
Und voilà, fertig!