Zum Inhalt springen

NVIDIA Jetson TX2 – Applikationsspezifische Performance Optimierung

| emlix

(Göttingen 01.09.2018) Rechenintensive Systeme mit künstlicher Intelligenz (KI) benötigen in den meisten Fällen eine extrem schnelle und hocheffiziente Verarbeitung von Sensordaten. Entsprechende Optimierungen für ein Embedded Linux-basiertes System hat emlix auf der NVIDIA Jetson TX2 Plattform durchgeführt. Diese kommt in intelligenten Industrieprodukten wie beispielsweise autonomen Fahrzeugen und Fluggeräten, Robotersystemen und tragbaren medizinischen Geräten sowie Deep Neural Network (DNN)-Applikationen zum Einsatz.

Speziell für die hoch performante Datenerfassung mit einem Xilinx FPGA hat emlix eine applikationsspezifische Variante des Xilinx PCI Express DMA Driver (XDMA) angepasst und zusammen mit seinem Kunden optimiert. Dazu erfolgt die Datenübertragung per PCI-Express. Für die Prozessierung der Daten zeichnet sich dann die CUDA GPU Engine auf dem Jetson TX2 System verantwortlich.

Nach einer Analyse der Anforderungen wurde eine Schnittstelle für die durch die CUDA Bibliothek verwalteten Speicher zur Verwendung als Empfangsspeicher (DMA) implementiert. Anschließend wurde der Xilinx PCI Express DMA-Treiber um Double-Buffering erweitert, also ein Umschalten des jeweiligen Empfangspuffers, gesteuert durch Erfassung und Verarbeitung von externen Steuersignalen.

Eine zusätzliche Schnittstelle für die CUDA-basierte Kundenapplikation sorgt für eine maximale Kontrolle und ein performantes Handling des XDMA-Treibers durch die Applikation. Sie gewährleistet Notifikation, Steuerung und Synchronisation der Empfangspuffer sowie das Erfassen und Verarbeiten von möglichen Übertragungsfehlern und Verbindungsabbrüchen.

Durch weitere Optimierung der Performance von XDMA-Treiber und Jetson TX2-Embedded Linux wurde die Verarbeitung des durch die Applikation geforderten Datenaufkommens ermöglicht. Das angepasste Softwaresystem wurde anschließend auf die vom Kunden entwickelte Hardware portiert.