EO_475
DIGITAL HETEROGENEOUS COMPUTING 42 - ELETTRONICA OGGI 475 - GENNAIO/FEBBRAIO 2019 I l nuovo paradigma per l’Heteroge- neous Computing è l’implemen- tazione nei multicore di motori di elaborazione di tipo cognitivo in gra- do di eseguire elaborazioni di intelli- genza artificiale. Il vantaggio di avere più core con differenti caratteristiche nello stesso chip consente di sfrutta- re motori di calcolo dedicati a diverse funzionalità per eseguire in parallelo processi di elaborazione comples- si. Bisogna però essere disposti ad accettare maggior complessità circuitale perché, in- nanzitutto, è più difficile gestire le temporizzazioni che possono essere molto diverse in ciascun core e, inoltre, è più facile che gli accessi alle memorie generino con- flitti. Per risolvere queste problematiche i core eteroge- nei sono ancora argomento di ricerca nei laboratori più prestigiosi che cercano in ogni caso di privilegiare le soluzioni adatte all’elaborazione cognitiva, attualmente l’obiettivo di maggior interesse. Core tensoriali Una via promettente quanto ardua da perseguire è l’im- plementazione di una TPU (Tensor Processing Unit) in- sieme a una CPU e/o a una GPGPU (General-Purpose Graphics Processing Unit). Ricordiamo che le TPU sono sta- te recentemente concepite nei labora- tori Google per accelerare le ricerche inferenziali sui contenuti in rete e so- prattutto su quelli che comportano il riconoscimento vocale o facciale delle persone. Dato che sono le più impegna- tive i ricercatori Google si sono inven- tati la TPU sotto forma di una matrice di 2 X unità di calcolo a 8 bit ciascuna con la propria memoria locale e tutte collegate l’una all’altra tramite bus PCIe 3.0. Per comandarle sono state scelte le istruzioni CISC (Complex Instruction Set Computer) perché sono più lunghe delle RISC (Reduced) e adatte a ospita- re in ogni riga la “composizione” di più istruzioni eseguibili simultaneamente in parallelo. La prima generazione ave- va otto motori di calcolo a 700 MHz ma la seconda e la terza recentemente pre- sentate hanno 16 e 64 unità di calcolo per una potenza complessiva di 180 e 720 TeraFLOPs, 10 12 operazioni in vir- gola mobile al secondo. Questa velocità è espressa con un elevato rendimento e consumi contenuti nelle decine di Watt mentre per ottenere prestazioni circa 50 volte inferio- ri usando le CPU o le GPU si salirebbe sulle centinaia di Watt. Le TPU sono perciò preferibili ma solo se ci si accon- tenta di eseguire confronti fra i dati memorizzati e i dati ac- quisiti. Sono nate per questo scopo ed è una funzionalità strategica per cercare contenuti complessi come segnali vocali, forme del viso e immagini della retina, ma non c’è dubbio che ben presto impareranno a fare anche qual- cos’altro. La presenza di una TPU al fianco di una GPGPU consentirebbe di realizzare processori eterogenei di stra- ordinaria potenza capaci di interpretare con efficienza la capacità dell’apprendimento che ancora manca ai moder- ni processori per dimostrare di avere abbastanza intelli- genza artificiale per prendere decisioni quanto più possibilmente simili a quelle del cervello umano. Core multi-processo MIPS (Microprocessor without Inter- locked Pipeline Stages) fu la prima nel 1981 a introdurre il parallelismo nelle istruzioni che consentiva di scompor- re gli algoritmi in più flussi di elabora- zione eseguibili più velocemente solo a patto di potersi permettere maggior complessità circuitale. È stata indub- biamente un’importante intuizione che oggi diventa strategica per le architetture eterogenee. I processori MIPS64 scompongono gli algoritmi L’intelligenza artificiale è l’attuale sfida per i core eterogenei che introducono modalità di calcolo neuronale parallelo capaci di rendere più efficace l’elaborazione cognitiva Nei multicore si prova a implementare anche una TPU Google basata sulle istruzioni CISC che consentono il calcolo parallelo adatto ai motori inferenziali Massimo Fiorini Architetture eterogenee e adattative L’architettura MIPS del nuovo Multi- Threaded Processor I7200 ha un’attenta gestione delle priorità nella gestione dei thread di ciascuno dei 64 cluster eseguibili in parallelo
Made with FlippingBook
RkJQdWJsaXNoZXIy MTg0NzE=