NPX6 NPU (Neural Processing Unit) heter en IP-kärna från Synopsis för inferenser i artificiella neuronnät. Den ska ge en prestanda på 30 Tops/watt.
De primära tillämpningsområdet är bildanalys, som objektigenkännitng, kvalitetsförbättring eller segmentering. Men den kan även användas för till exempel ljudanalys och språkbehandling.
Även Synopsys CPU-kärna ARC EV7x har stöd för inferenser men ger inte prestanda som kan tävla med en dedikerad accelerator som NPX6.
NPX6 levererar minst 250 Tops i 1,3 GHz på en 5 nm-process, eller upp till 440 Tops genom att den utnyttjar knep för att effektivare arbeta med så kallade glesa neuronnät, det vill säga nät där de flesta parametrar är noll.
NPX6 kan konfigureras med mellan 4000 och 96 000 MAC-enheter. En MAC-operation är att addera produkten av två operander till en summa vilket är en av de grundläggande operationerna på artificiella neuroner.
Näten räknar som standard med åtta bitars heltal, men det går att göra lokala modifieringar och använda heltal på fyra och 16 bitar och flyttal på 16 bitar i formaten BF16 eller FP16. Det går till exempel att använda fyrabitarsvikter för att spara minne och bandbredd.
Du kan kombinera flera NPX6-kärnor upp till en sammanlagd kapacitet på 3,5 petaops. 1 teraops (Tops) är en biljon operationer per sekund och en petaops (Pops) en biljard.
NPX6 har stöd för diverse aktiveringsfunktioner som tanh och sigmoid. En programmerbar aktiveringsfunktion som bygger på en lookuptabell stöder även nymodigheter som mish och swish, för att inte tala om framtida aktiveringsfunktioner som ingen tänkt på ännu.
En version kallad NPX6FS är kvalificerad enligt fordonsstandarden ISO 26262 för att kunna användas i kritiska system.
Utvecklingsverktyget MetaWare MX låter dig konfigurera enligt ovan och kompilera och optimera nättyper som CNN, RNN, LSTM, transformatorer och rekommenderare.