Runtime AI NPU Vectorization

Maßgeschneiderte CNN-Inference-Layer auf einer Hexagon NPU

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 Vi­deo-Per­cep­tion. 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 Stan­dard­im­ple­men­tier­ung.
Alle genannten Produkte oder Dienstleistungsnamen und Handelsmarken sind das Eigentum ihrer respektiven Eigentümer.