NEWS

Prozessoren

Intel zeigt TensorFlow-Optimierungen für Xeon-Scalable-Prozessoren

Portrait des Authors


Intel zeigt TensorFlow-Optimierungen für Xeon-Scalable-Prozessoren
0

Werbung

TensorFlow ist eines der führenden Frameworks im Bereich Deep Learning und Machine Learning. Google, NVIDIA und auch Intel haben bereits Optimierungen angekündigt, die TensorFlow auf der eigenen Hardware beschleunigen. Im Falle von Intel betrifft dies die Xeon- und Xeon-Phi-Prozessoren, welche Intels Math Kernel Libraries (MKL) nutzen. Nun hat Intel erste Ergebnisse veröffentlicht und spricht von Verbesserungen im Bereich von überraschenden Größenordnungen. Für das Training soll ein Plus von bis zu Faktor 70 möglich sein. Für das Inferencing um den Faktor 85.

AMD, NVIDIA, aber auch Google durch die Entwicklung spezieller Hardware für diesen Bereich, hinterlassen gerne den Eindruck, dass Deep Learning, Machine Learning und andere Synonyme der zugrunde liegenden Methodiken, auf Standard-Prozessoren kaum noch effektiv auszuführen sind. Intel widerspricht natürlich vehement und will damit seine Prozessoren in den Fokus rücken.

Für die Optimierungen auf Basis der Xeon-Scalable-Prozessoren nutzt Intel das Vorhandensein von bis zu 28 Prozessorkernen, den Last-Level-Cache, den 1 MB großen L2-Cache sowie den DDR4-Arbeitsspeicher mit bis zu 2.666 MHz über sechs Speicherkanäle. Weitaus wichtiger aber dürften die verwendeten Befehlssätze sein. Von den Xeon-Phi-Prozessoren übernommen werden die Advanced Vector Extensions 512 (AVX-512). Mit den Xeon-Scalable-Prozessoren hinzugekommen sind die AVX-512 CPUID Flags (AVX512BW und AVX512DQ) und die Kompatibilität zu AVX512VL. AVX512DQ CPUID Flag ist im Besonderen auf Optimierungen für das High-Performance-Computing (HPC) und Machine-Learning-Workloads ausgelegt.

Die Anpassung der Software, bzw. der zu berechnenden Daten auf die Hardware sind laut Intel der Schlüssel für das Machine Learning. Intel verwendet dazu die Math Kernel Library für Deep Neural Networks (MKL-DNN), die als Open-Source-Variante zur Verfügung steht. TensorFlow unterstützt MKL-DNN und DNN Primitives, überführt werden diese aber aus einer Closed Source Math Kernel Library. Alles ist darauf ausgelegt die Daten auf die AVX-512-Instruktionen hin zu optimieren und die zur Verfügung stehenden Prozessorkerne schnellstmöglich damit zu füttern, damit diese ohne Verzögerungen und über eine gefüllte Pipeline ihr Leistungspotenzial auch ausspielen können.

In einem detaillierten Bericht veröffentlicht Intel einige Leistungsdaten und vergleicht dabei ein Broadwell-System mit zwei Prozessoren zu jeweils 22 Kernen und einem Xeon-Phi-Beschleuniger mit 68 Kernen. Die Optimierungen sollen auch für ein Skylake-SP-System mit zwei Prozessoren zu jeweils 28 Kernen im Bereich von Faktor 70 für das Training und Faktor 85 für das Inferencing liegen.

Für Entwickler zeichnet Intel folgendes Bild: Wer einen oder mehrere Xeon-Scalable-Prozessor einsetzt, muss nichts weiter tun als TensorFlow mit den für MKL optimierten Einstellungen auszuführen und soll dann von den Optimierungen profitieren. Für Intel ist es durchaus wichtig seine Prozessoren in diesem Bereich ins rechte Licht zu rücken, denn auch aus eigenem Hause ist zunehmend eine Tendenz zu spezieller Hardware für solche Netzwerke zu erkennen.