Schematische Zeichnung eines Hexagon DSPs mit Ausführungseinheiten und Speicher.
Benutzerdefinierte Layer von Neuronalen Netzen, wie zum Beispiel das Anwenden von problemspezifischen Schwellwerten, können fertigen Bibliotheken (wie z.B. das „Neural Processing SDK“ von Qualcomm®) Probleme bereiten. Solche Layer enthalten typischerweise anstatt häufig vorkommender Operationen wie Faltungen eher viele kleine und ‒ individuell ‒ langsame.
Für einen unserer Kunden implementierten wir einen maßgeschneiderten problemspezifischen Layer eines Neuronalen Netzes für Video-Perception. Wir optimierten ihn spezifisch für den Vektor-Coprozessor („HVX“) des Qualcomm Hexagon™ DSPs und machten ihn damit 30× schneller.
Ein paar schnelle Fakten
Hardware:
- SoC: Qualcomm Snapdragon®
- NPU: Hexagon DSPs mit HVX Vector-Coprozessoren
Betriebssystem:
- Blackberry® QNX®
Compiler:
- Qualcomm Hexagon Compiler (Clang-basiert)
Zusammenfassung der von uns erzielten Ergebnisse:
- Maßgeschneiderter Layer für CNN, 30× schneller auf Hexagon DSP als die Standardimplementierung.