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.