Mit Ngraph stellt Intel einen Framework-unabhängigen in C++ geschriebenen Modell-Compiler für DNNs (Deep Neural Networks) vor. Mit Frameworks wie Tensorflow oder CNTK erzeugter Code lässt sich mit Ngraph in Zukunft für Intel-Chips, Nvidia GPUs, FPGAs und mögliche weitere Deep-Learning-Hardware übersetzen.
Wissenschaftler sollen sich dank des neuen Compilers laut Intels Vorstellungen künftig ganz auf ihre Deep-Learning-Modelle konzentrieren. Nicht mehr beschäftigen soll sie die Frage, wie sie ihre Modelle an speziell auf bestimmte Geräte optimierte Kernel anpassen müssen. Laut Intel sei es bislang recht mühsam, einen Algorithmus auf ein neues oder aktualisiertes Gerät zu portieren.
Ngraph soll nicht nur die spezialisierten Kernel und wichtige Bibliotheken bereitstellen, sondern auch beim Kompilieren auf Effizient achten. Konkret kümmert sich ein Intermediate Representation Layer (IR) um die Hardware-Abstraktion. Dabei verbinden Brücken (Bridges) die Frameworks mit dem Ngraph-Kern. Transformer heißen hingegen die Zwischenstücke zwischen dem Ngraph-Kern und der verschiedenen Deep-Learning-Hardware.
Unterstützte Hardware und Frameworks
Bislang unterstützt Intel vor allem hauseigene Architekturen wie x86, Intel Xeon oder Xeon Phi sowie Intel Nervana, den Neural Network Processor. Die Arbeit am Support für Nvidia Cu-DNN sei noch nicht abgeschlossen. Während Intel in der Mitteilung auch Support für FPGAs ankündigt, bleibt andere Hardware, wie die von Konkurrent AMD, offenbar außen vor. Theoretisch ließe sich die Software aber in diese Richtung ergänzen, sie steht unter der Apache-2-Lizenz.
Einige Frameworks wie Tensorflow und MX-Net und Neon unterstützt Ngraph zurzeit direkt, andere über ONNX, einem Deep Learning Model Exchange Format. Zu letzteren zählen CNTK, Pytorch und Caffe2. Bislang läuft Ngraph dabei auf Ubuntu 16.04 (mit Clang 3.9) und Centos 7.4 (GCC 4.8) und – experimentell – auf Intels eigenem Clear-Linux (Clang 5.0.1). Windows-Support gibt es bislang nicht. Ein Paper zu den Hintergründen der neuen Software wartet auf Arxiv.






