Hot Chips: Intel legt "Knights Mill"-Architektur offen
Die neuen Knights-Mills-Befehle kannte man schon, aber nicht die Feinheiten der Implementierung. So gibt es wieder, wie einst beim Pentium 4, eine "Double-pumped Execution"
Schon vorab hatte Intel die Befehlserweiterungen für die nächste Generation Xeon-Phi-Prozessoren "Knights Mill" bekannt gegeben, insbesondere die Quad-FMA- und die Virtual Neural Network Instructions VNNI mit int16-Datenformat. Auf der Hot Chips Konferenz, die derzeit im kalifornischen Cupertino stattfindet, folgte nun, wie die Vektoreinheiten und die Execution-Pipelines dafür konzipiert worden sind. Der Rest im Chip rund um den verbesserten Atom-Silvermont-Kern bleibt so wie im Knights Landing (KNL)
Beim KLN hat jede der beiden Vektoreinheiten zwei FMA-Ports sowohl für Double (DP) als auch für Single Precision (SP). Das macht insgesamt 32 DP-Flops/Takt und 64 SP-Flops/Takt. Für Knights Mill (KNM) wurde ein DP-Port geopfert und durch SP/VNNI-Einheiten ersetzt. Die alten SP-Einheiten wurden zudem auf jeweils zweimal SP/VNNI aufgestockt. Damit verdoppelt sich die SP-Leistung auf 128 SP-Flops pro Takt; für int16 erhält man 256 Ops/Takt. Bei angenommenen 1,5 GHz Takt ergibt das eine theoretische Spitzenleistung von 13,8 TFlops (SP), 3,5 TFlops (DP) und 27,6 Tops (int16).
Double-pumped
Sowohl für SP, also auch für VNNI-16 gibt es neue Quad-FMA-Befehle, die mit "Double-pumped Execution" arbeiten, so dass die vier FMA-Befehle mit 1 Fetch/rename+1 Load (für alle vier Skalare) und zweimal zwei "gepumpte" FMAs insgesamt nur etwa vier Takte Latenz mehr benötigen als ein einzelner FMA-Befeh ( 1 Fetch/rename, 1 Load, 1 FMA).
Entgegen ursprünglichen Vermutungen bietet VNNI aber kein "Half Precision"-Gleitkommaformat so wie Nvidia Pascal/Volta oder AMD Vega an, sondern arbeitet mit Integer mit variabler Genauigkeit. So hat der Quad-FMA-Befehl Int16 am Eingang und Int32 am Ausgang. Intel betont, dass für festliegende Datenbereiche int16 mit einer "Mantisse" von 15 Bit genauer ist als fp 16 mit 10-Bit-Mantisse, gibt aber auch zu, dass die Festpunkt-Arithmetik für dynamische Bereiche zusätzlichen Software-Aufwand erfordert, was dann die effektive Performance ja nach Software-Anforderung deutlich senken kann. (as)