Nvidia spendiert der ML-Hardwarearchitektur NVDLA einen Open-Source-Compiler
Der NVDLA Deep Learning Inference Compiler erstellt optimierte AusfĂĽhrungsgraphen fĂĽr Nvidias Open-Source-Architektur.
Zwei Jahre nach der Freigabe des Nvidia Deep Learning Accelerator (NVDLA) als quelloffene Hardwareplattform hat der GPU-Hersteller nun einen passenden Compiler als Open-Source-Software veröffentlicht. Der NVDLA Deep Learning Inference Compiler erstellt optimierte Ausführungsgraphen und lässt sich über Einstellungen für unterschiedliche Hardwarekonfigurationen und spezifische Modelle anpassen.
Der NVDLA ist eine offene Hardwarearchitektur, die Nvidia zwar initiiert hat, deren Weiterentwicklung aber offen auf GitHub als Community-Projekt stattfindet. Das Projekt ist auf Deep-Learning-Anwendungen ausgelegt. Das Unternehmen selbst bietet sie unter anderem im Jetson AGX Xavier Developer Kit an. ARM setzt fĂĽr seine Machine-Learning-Plattform Project Trillium ebenfalls auf NVDLA.
Optimiert fĂĽr Hardware und Anwendung
Der nun als Open-Source-Software veröffentlichte Compiler erstellt auf die jeweilige Anwendung zugeschnittene Ausführungsgraphen, die die Aufgaben in den einzelnen Layers der künstlichen neuronalen Netze auf die einzelnen Ausführungseinheiten von NVDLA übertragen. Der Fokus der Optimierung liegt auf einem möglichst geringen Datentransfer und der bestmöglichen Ausnutzung der zugrundeliegenden Hardwareplattform.
Entwickler können diverse Faktoren einstellen, um das Kompilat für spezifische Hardwarevoraussetzungen beziehungsweise neuronale Netze anzupassen. Für größere NVDLA-Designs eignen sich wohl Optimierungen wie Layer-Fusionierung und Pipeline-Scheduling im Interesse einer verbesserten Performance. Für leistungsschwächere Hardware bietet sich unter anderem das Memory Tiling an, um den Speicher-Transfer und damit den Stromverbrauch zu minimieren.
Weitere Details lassen sich dem Nvidia-Entwicklerblog entnehmen. Der NVDLA Deep Learning Inference Compiler ist auf GitHub abgelegt. Er trägt die Versionsnummer 1.2.0, und das jüngste Release ist spezifisch auf die Open-Source-Legung ausgerichtet. Entwickler finden ebenfalls auf GitHub eine Übersicht der unterstützten Modelle, Features und Frameworks. Bei Letzteren ist derzeit nur Caffe gelistet, aber eine Anbindung an das offene Austauschformat ONNX (Open Neural Network eXchange) ist in Planung.
Siehe dazu auf heise Developer:
(rme)