View Full Version : Da Intel un chip FPGA che tocca i 10 TFLOPs
Redazione di Hardware Upg
20-04-2018, 09:01
Link alla notizia: https://www.hwupgrade.it/news/cpu/da-intel-un-chip-fpga-che-tocca-i-10-tflops_75472.html
I chip FPGA vengono utilizzati per ambiti di elaborazione molto specifici, assicurando una potenza di elaborazione molto elevata. La nuova proposta Intel Stratix 10 FPGA tocca il record di 10 TFLOPs
Click sul link per visualizzare la notizia.
Da quel che leggo è praticamente una GPU..
CiccoMan
20-04-2018, 09:41
Da quel che leggo è praticamente una GPU..
le GPU sono chip ASIC.
Da quel che leggo è praticamente una GPU..
Una FPGA può essere "quasi" quello che vuole (a livello di chip di elettronica digitale).
Se vuoi cacciarci su un processore x86 anche a N core lo puoi fare (ovviamente avrà prestazioni minori della versione ASIC) se hai gli schemi necessari.
Comunque nella versione SX lo Stratix 10 contiene pure un HPS con 4 core Arm Cortex A53.
le GPU sono chip ASIC.
Beh tutto nell'elettronica di consumo è un chip ASIC, ma non significa che per fare una GPU devi usare per forza un asic.
Sono quelli (gli Asic) che forniscono le prestazioni migliori ed i costi per chip minori.
Però sono anche quelli che richiedono costi di sviluppo maggiori ed un minimo numero di pezzi da superare per essere prodotti.
Sotto certi volumi il costo di produzione degli asic diventa eccessivo e si può valutare altre soluzioni (a prestazioni inferiori) come pure le fpga.
È un FPGA, decidi tu cosa fa :)
Si, ma se non è al grafene a noi non interessa.
:sofico:
By(t)e
I chip FPGA sono di fatto degli acceleratori, utilizzati in specifici ambiti per compiti di elaborazione molto precisi.
Ma se non avete idea di ciò di cui state scrivendo, lasciate perdere. Una FPGA è una FPGA, di certo scrivere compiti di elaborazione molto precisi è una delle peggiori descrizioni che si potrebbero utilizzare.
emanuele83
20-04-2018, 11:01
I chip FPGA sono di fatto degli acceleratori, utilizzati in specifici ambiti per compiti di elaborazione molto precisi.
Ma se non avete idea di ciò di cui state scrivendo, lasciate perdere. Una FPGA è una FPGA, di certo scrivere compiti di elaborazione molto precisi è una delle peggiori descrizioni che si potrebbero utilizzare.
suppongo che per uno che non ha mai usato un FPGA la descrizione di questo stratix 10 vada anche bene così, certo non va bene generalizzare.
Ormai in pochi usano FPGA per glue logic, il mercato mainstream ora come ora è il SoC (intel compra altera, ma si guarda bene dal mettere un suo processore dentro ai SoC, usano ancora ARM) e l'interfaccia per prodotti dedicati industriali e il mondo embedded (schede PCIe o schede USB2-3 che ricoprano necessità di calcolo o analisi specifiche e che abbiano la necessità di fare tante operazioni parallele contemporaneamente.
direic he per HW upgrade basta "compiti di elaborazione molto precisi". ok si è scritto male io avrei detto particolari. anche perchè la precisione qui non cèntra niente.https://www.youtube.com/watch?v=hRAFPdDppzs
stratix è paragonabile ad una virtex xilinx e finalmente si vedono i gli effetti della acquisizione di intel. FPGA di questo tipo si usano per simulare design di ASIC (non a caso un singolo FPGA con queste caratteristiche costa (decine di) migliaia di euro).
chuckbird
20-04-2018, 11:31
I chip FPGA sono di fatto degli acceleratori, utilizzati in specifici ambiti per compiti di elaborazione molto precisi.
Ma se non avete idea di ciò di cui state scrivendo, lasciate perdere. Una FPGA è una FPGA, di certo scrivere compiti di elaborazione molto precisi è una delle peggiori descrizioni che si potrebbero utilizzare.
Credo che abbia interpretato male quello che volevano dire: di fatto con gli FPGA si "scrivono" microprocessori per lavori estremamente specifici, che di fatto richiederebbero l'implementazione di ASIC... con tutto ciò che concerne la realizzazione fisica, che con un FPGA viene meno.
Questa è quindi una cosa di abnorme importanza per chi:
a) non vuole investire nel interpellare fonderie varie per farsi creare chip su misura
b) per chi ha necessità di sviluppare nuovo hardware e non può ogni volta farsi creare il chip ad hoc sulla base del codice che viene via via sviluppato
c) per chi vuole implementare un hardware aggiornabile in futuro come se fosse un pezzo di software
Il punto C è quello forse più interessante per gli utenti: immaginati se ci fossero FPGA talmente potenti ed efficienti... con un singolo pezzo di silicio si potrebbero per esempio implementare nuove versioni di GPU senza dover cambiare hardware ma solo "flashando" l'FPGA.
E' lo stesso concetto su cui fa leva ad esempio la PS Audio, nota marca americana produttrice di apparecchi per l'alta fedeltà, che propone un DAC scritto a mano da loro via FPGA, aggiornabile in futuro per soddisfare la richiesta di supporto di nuovi standard.
pabloski
20-04-2018, 11:39
di fatto con gli FPGA si "scrivono" microprocessori per lavori estremamente specifici
Anche quello, ma usato così è uno spreco. Se devo realizzare una cpu basata sul modello di Von Neumann, vado di asic ( a meno che non sono Intel e sto progettando una cpu o devo produrre pochi pezzi ).
Un FPGA è una matrice di tabelle di verità, dove ogni elemento ha il potere espressivo di una porta logica.
Per questo mi suona strano l'uso dei flops per misurarne le capacità. Io ero rimasto che si usava il numero di celle logiche come unità di misura delle capacità di un FPGA.
emanuele83
20-04-2018, 11:47
Anche quello, ma usato così è uno spreco. Se devo realizzare una cpu basata sul modello di Von Neumann, vado di asic ( a meno che non sono Intel e sto progettando una cpu o devo produrre pochi pezzi ).
Un FPGA è una matrice di tabelle di verità, dove ogni elemento ha il potere espressivo di una porta logica.
Per questo mi suona strano l'uso dei flops per misurarne le capacità. Io ero rimasto che si usava il numero di celle logiche come unità di misura delle capacità di un FPGA.
Si vede che non sai di cosa parli. le LUT look up table sono solo un numero se non hai le performance di timing.
ad ogni CLB (configurable logic block (parlo di xilinx perchè uso questo produttore)) è associato uno o più registri (flip flop di tipo D) e la loro velocità e le potenzialità di routing del clock sono quello che contano. usare un FPGA in modo asincrono per fare glue logic oggigiorno, quello si che è uno spreco. ci ono le CPLD ancora ideate e progettate nel 98 che vanno benissimo per fare ciò ed hanno anche la flash integrata.
il massimo di un FPGA si ha anche quando si implementa insieme alla logica custom un bel microprocessore (microblaze ad esempio) che viagia tranquillamente a 100-150Mhz quando la logica esterna sfruttando la pipeline arriva fino a 250-350 MHz (dipende dalla famiglia e da come e quanto sei bravo a scrivere il codice) fare una moltiplicazione a 256 bit a 350Mhz di clock (di throughput) usando un moltiplicatore in FPGA mentre si fanno contemporaneamente altre n operazioni logiche complesse non è come farla a 3.5Ghz usando solo addizionatori e sottrattori e centinaia di istruzioni macchina in un processore seriale classico.
emanuele83
20-04-2018, 11:55
Bei bestioni. Da me si utilizzano Kintex e Stratix. Pero' sarebbe interessante vedere i piani di utilizzo di Intel in merito si progetti di CPU+FPGA.
Se facesse un grosso FPGA con accoppiata una CPU decente (anche solo i5...) potrebbe permettere una drastica diminuzione teorica della complessita' delle schede che progettiamo (anche se switchare da un vendor all'altro non e' mai semplice...).
Si, e il calore come lo dissipi?
Da ignorante in materia di FPGA ho sempre pensato che Intel potesse aver acquisito Altera anche con lo scopo di inserire uno di questi all'interno suoi processori, ossia investire una parte del proprio silicio per avere una parte del processore programmabile per eseguire specifici compiti con elevata efficienza.
L'idea è, insomma, quando devo svolgere un dato compito quella di caricare lo schema per programmare l'FPGA e svolgerlo sfruttandolo per accelerarlo / eseguirlo in modo più efficiente. L'idea è ovviamente che Intel offra una serie di schemi preconfezionati e, perchè no, magari la community stessa potrebbe crearne di nuovi.
Per cui chiedo a chi ne sa più di me: ho appena detto una stupidaggine? :D
E se questa non fosse troppo grande, come potrebbe funzionare la cosa?
FPGA di questo tipo si usano per simulare design di ASIC (non a caso un singolo FPGA con queste caratteristiche costa (decine di) migliaia di euro).
In effetti mi stavo chiedendo quale potesse essere il prezzo di questo bestione, ci sono notizie a riguardo?
songohan
20-04-2018, 11:59
[...] può processare, nello spazio di 1 secondo, i dati corrispondenti a 420 Blu-Ray [...]
Che cavolo vuol dire????????????????????????????????
chuckbird
20-04-2018, 12:02
Per questo mi suona strano l'uso dei flops per misurarne le capacità. Io ero rimasto che si usava il numero di celle logiche come unità di misura delle capacità di un FPGA.
Specialmente nella suaultima parte ti ha risposto emanuele83, relativamente al paragone con unità GP.
chuckbird
20-04-2018, 12:06
Che cavolo vuol dire????????????????????????????????
Tutto e niente.
E' la classica frase buttata li per dare fumo negli occhi: del resto il prodotto appare comunque mostruoso vista la sua complessità.
Per me elaborare un dato può voler dire anche invertirne i bit... quindi non sto dicendo nulla in merito all'eventuale potenza di calcolo.
emanuele83
20-04-2018, 12:11
Da ignorante in materia di FPGA ho sempre pensato che Intel potesse aver acquisito Altera anche con lo scopo di inserire uno di questi all'interno suoi processori, ossia investire una parte del proprio silicio per avere una parte del processore programmabile per eseguire specifici compiti con elevata efficienza.
L'idea è, insomma, quando devo svolgere un dato compito quella di caricare lo schema per programmare l'FPGA e svolgerlo sfruttandolo per accelerarlo / eseguirlo in modo più efficiente. L'idea è ovviamente che Intel offra una serie di schemi preconfezionati e, perchè no, magari la community stessa potrebbe crearne di nuovi.
Per cui chiedo a chi ne sa più di me: ho appena detto una stupidaggine? :D
E se questa non fosse troppo grande, come potrebbe funzionare la cosa?
lo fanno già si chiamano ip core. e non esistono community (ok c'è roba alla OPENCORES https://opencores.org/) perchè se anche fai un core che funziona sul tuo FPGA e sul tuo progetto non è detto funzioni anche in altre realtà (ecco perchè il nostro lavoro è difficile, non tanto il problema è scrivere il codice che fa il famoso moltiplicatoe a 256 bit, il problema è riuscire a farcelo stare in termini di prestazioni (timing) e riuscire a settare e fare rispettare delle constraits). Insomma se prendi un microprocessore o un microcontrollore e scrivi un codice in C quello ti gira anche su ogni altro processore con la stess architettura (a partto di avere delle librerie standard) con gli FPGA chi ti offre un core ti deve offrire anche il supporto per integrarlo nel tuo progetto (xilinx e alteera ne offronogià un sacco free of charge)
non ci sono più schemi da anni (sebbene io quando iniziai a lavorare a berlino nel 2010 ancora il grande capo "programmava" per mezzo di schematici e il mio primo prgetto fu di aggiungere un parte di codice VHDL a uno schematico già presente su una spartan 2.
negli ultimi 5 anni orami i toolsuite sono evoluti e non solo non ci sono più schmatici, ma si usa una programmazione a blocchi (tipo labview) per connettere gli ip core. poi se ti devi interfacciare a un particolare bus o sensore allora devi fare il tuo ip-core (chiamiamolo così) in VHDL o verilog che parli con il componente esterno (esmepio un chip USB o una memoria o un ADC/DAC)
emanuele83
20-04-2018, 12:30
Come un qualsiasi altro IC :O ?
Intel ha gia' detto in passato che avrebbe fatto una cosa del genere. Non e' in discussione.
L'unica cosa che non si sa e' che prestazioni lato CPU e che dimensioni lato FPGA vuole proporre. Quando uscira' qualcosa chi di dovere valutera' l'insieme delle caratteristiche proposte.
si beh guarda il trend è trovare il trade off tra low power e massima potenza di calcolo. Uno zynq ultrascale già diventa rovente a 30 gradi di air temperature. pensa se ci metti un i5 dentro. solo di package per smaltire i 100W ti costa più del silicio. e poi anche le dimensioni eccessive del package sono un minus incredibile in ambito industriale e embedded.
...immagino che air temperature Emanuele83 significhi in lingua italiana "temperatura ambiente"...
Grazie.
Marco71.
emanuele83
20-04-2018, 13:14
...immagino che Emanuele83 significhi in lingua italiana "temperatura ambiente"...
Grazie.
Marco71.
lo so, sono anche io un grammar nazi, ma quando si va sul tecnico devo usare gli anglicismi. che ci piaccia o no per lavorare serve l'inglese altrimenti mi si fonde il cervello a parlare coi colleghi di lufttemperatur, coi fornitori di air temperature e con te di temperatura ambiente. Poi qui siamo su un forum (zwischen hunde come si direbbe qui) peggio è quando uno che scrive articoli (nino fat per esempio) confonde la levitazione con la lievitazione magnetica.
Una FPGA può essere "quasi" quello che vuole (a livello di chip di elettronica digitale).
Se vuoi cacciarci su un processore x86 anche a N core lo puoi fare (ovviamente avrà prestazioni minori della versione ASIC) se hai gli schemi necessari.
è per questo che rimango basito sull'informazione dei 10TF.
dipende esclusivamente dal rendimento di esecuzione; l'esecuzione cambia perchè cambia lo schema, cambia pure la potenza espressa.
[...] può processare, nello spazio di 1 secondo, i dati corrispondenti a 420 Blu-Ray [...]
Che cavolo vuol dire????????????????????????????????
Che in 1 secondo può esaminare centinaia di film in alta definizione e stabilire chi sia il colpevole, dando l'adeguata pena; se però il blu-ray contiene un documentario allora il cervellone elettronico va in tilt.
...lo so, sono anche io un grammar nazi, ma quando si va sul tecnico devo usare gli anglicismi. che ci piaccia o no per lavorare serve l'inglese altrimenti mi si fonde il cervello a parlare coi colleghi di lufttemperatur, coi fornitori di air temperature e con te di temperatura ambiente. Poi qui siamo su un forum (zwischen hunde come si direbbe qui) peggio è quando uno che scrive articoli (nino fat per esempio) confonde la levitazione con la lievitazione magnetica....
L'uso dell'anglosassone idioma ormai inevitabile ma diciamo "dosabile" nel suo utilizzo quando interno ad altre lingue, ormai ha generato un coacervo linguistico.
Ai fornitori comunque puoi parlare di "ambient temperature"...perché la temperatura dell'aria è più da intendersi nel senso di fisica tecnica che non di ingegneria...a meno che non si progetti un caccia da guerra.
Marco71.
è per questo che rimango basito sull'informazione dei 10TF.
dipende esclusivamente dal rendimento di esecuzione; l'esecuzione cambia perchè cambia lo schema, cambia pure la potenza espressa.
Alcune parti di uso frequente (per certe applicazioni) sono inserite come componenti Hard (implementazione fissa) dentro la FPGA per ottenere prestazioni maggiori.
Se vuoi fare una somma puoi costruirti un tuo sommatore usando gli elementi logici presenti o richiamare un sommatore hw (se presente) che sarà ben più veloce ed usare quello.
I 10 TeraFlop si riferiscono alla potenza massima ottenibile (in Single FP) usando tutti i blocchi DSP presenti: https://www.altera.com/products/fpga/stratix-series/stratix-10/features.html#dsp
Gli stessi calcoli usando implementazioni della logica DSP basata su LE saranno di sicuro in una scala di potenza molto più bassa (Mega o Giga Flop)
pabloski
20-04-2018, 14:16
Si vede che non sai di cosa parli. le LUT look up table sono solo un numero se non hai le performance di timing.
Ma è un numero che ti dice qualcosa sul FPGA. I flops che ti dicono?
ad ogni CLB (configurable logic block (parlo di xilinx perchè uso questo produttore)) è associato uno o più registri (flip flop di tipo D) e la loro velocità e le potenzialità di routing del clock sono quello che contano. usare un FPGA in modo asincrono per fare glue logic oggigiorno, quello si che è uno spreco. ci ono le CPLD ancora ideate e progettate nel 98 che vanno benissimo per fare ciò ed hanno anche la flash integrata.
Tutto giusto, ma i flops come c'entrano? Considerando che il flop è l'unità di misura delle operazioni floating point e che io posso benissimo usare un FPGA per svolgere tutt'altra tipologia di operazione, cosa mi dicono i flops sulla capacità del FPGA? Un fico secco!
CiccoMan
20-04-2018, 14:38
Beh tutto nell'elettronica di consumo è un chip ASIC, ma non significa che per fare una GPU devi usare per forza un asic.
Le cpu sono chip asic? Una gpu che non sia asic qual'è?
Che poi si possa fare una vga con su un chip non asic non lo metto in dubbio ;)
@emanuele83
Grazie delle spiegazioni. Immaginavo una certa difficoltà a programmarli, la mia idea comunque è che a contribuire non fossero i programmatori della domenica ma Intel stessa in primis (per alcuni scenari molto utilizzati, per fare un esempio a caso la compressione dei file) e qualche azienda interessata nel caso di contributi da parte di terzi.
Questo implicherebbe inoltre una certa stabilità negli FPGA integrati: non più di uno per ogni architettura di processore, quindi ogni due o tre anni, con magari l'integrazione di più blocchi nei processori più potenti e costosi, evitando così di dover sviluppare soluzioni differenti per diverse fasce di processore. Un tipico i7 mainstream potrebbe per esempio integrare tre blocchi di cui si potrebbe disporre liberamente (nei limiti di quanto reso possibile dall'hardare e dalle funzionalità che si vuole programmare), per compiti diversi o tutti assegnati allo stesso compito.
Le cpu sono chip asic? Una gpu che non sia asic qual'è?
Le cpu non implementate su FPGA (perché ci sono gli ip core cpu per fpga) o in altro modo sono di certo un ASIC.
Che poi significa solo Circuito Integrato con uno scopo specifico (Applicazione Specifica), anche la FPGA in sé per me è classificabile come un chip ASIC (il suo scopo è di fare la FPGA :D) però poi non consideri il circuito logico che ci programmi sopra come implementato in Asic :D.
Che poi si possa fare una vga con su un chip non asic non lo metto in dubbio ;)
Le gpu commerciali sono quasi sempre asic perché devi massimizzare le prestazioni e ridurre i costi per chip e perché sai già che ne produci un numero elevato di pezzi, ma nessuno vieta di usare fpga per fare GPU quando cambiano i requisiti (prestazioni e volumi da produrre).
Infatti per la serie Cyclone con HPS Arm la parte GPU non c'è e viene svolta (se si vuole una gpu magari elementare) da un modulo sw da caricare sulla parte FPGA.
Mi pare (non sicurissimo) che pure Arm stessa venda IpCore sia di Cpu che di GPU (Mali) in versione per FPGA.
E qualcuno potrebbe benissimo farsi un intero Soc da commercializzare (in piccole quantità) in FPGA invece di rivolgersi alla fonderia per una produzione di Asic (sia Full Custom che con uso di Standard Cell) se accetta anche prestazioni minori (e consumi maggiori) rispetto allo stato dell'arte.
Inoltre la tecnologia migliora sempre e le FPGA di oggi potrebbero essere migliori di ASIC di vari anni fa.
emanuele83
20-04-2018, 16:56
Le cpu non implementate su FPGA (perché ci sono gli ip core cpu per fpga) o in altro modo sono di certo un ASIC.
Che poi significa solo Circuito Integrato con uno scopo specifico (Applicazione Specifica), anche la FPGA in sé per me è classificabile come un chip ASIC (il suo scopo è di fare la FPGA :D) però poi non consideri il circuito logico che ci programmi sopra come implementato in Asic :D.
Le gpu commerciali sono quasi sempre asic perché devi massimizzare le prestazioni e ridurre i costi per chip e perché sai già che ne produci un numero elevato di pezzi, ma nessuno vieta di usare fpga per fare GPU quando cambiano i requisiti (prestazioni e volumi da produrre).
Infatti per la serie Cyclone con HPS Arm la parte GPU non c'è e viene svolta (se si vuole una gpu magari elementare) da un modulo sw da caricare sulla parte FPGA.
Mi pare (non sicurissimo) che pure Arm stessa venda IpCore sia di Cpu che di GPU (Mali) in versione per FPGA.
E qualcuno potrebbe benissimo farsi un intero Soc da commercializzare (in piccole quantità) in FPGA invece di rivolgersi alla fonderia per una produzione di Asic (sia Full Custom che con uso di Standard Cell) se accetta anche prestazioni minori (e consumi maggiori) rispetto allo stato dell'arte.
Inoltre la tecnologia migliora sempre e le FPGA di oggi potrebbero essere migliori di ASIC di vari anni fa.
oggigiorno se una scheda di sviluppo FPGA non ha almeno HDMI e displayport non se la caga nessuno (frontend con transceivers). ormai si fanno compressioni h265 anche sui modelli consumer, peccatogli ip core costino parecchio (e le skill per usarli non sono proprio da neofiti...)
emanuele83
20-04-2018, 16:58
Ma è un numero che ti dice qualcosa sul FPGA. I flops che ti dicono?
Tutto giusto, ma i flops come c'entrano? Considerando che il flop è l'unità di misura delle operazioni floating point e che io posso benissimo usare un FPGA per svolgere tutt'altra tipologia di operazione, cosa mi dicono i flops sulla capacità del FPGA? Un fico secco!
é semplice: prendi un fpga concorrente, mettici n mesi di sviluppo di 2 ingegneri coi controcazzi e vedi se riesci a raggiungere il limite delle 10 tera operazion floating point al secondo. é un traguardo esattamente come i supercoputer si misurano con i peta o esaflop
Per come la vedo io, questi 10Tflops sono fumo negli occhi. Non sono lo specchio delle performance in timing della FPGA. Per definizione i flops misurano le istruzioni per secondo. Ma qui parliamo di una fpga. Non ha senso parlare di istruzioni. Secondo me questi 10Tflops si riferiscono ad un blocco per il calcolo in floating point immerso nella foga. Utile per l'amor di dio, ma fino ad un certo punto è solamente per determinate applicazioni.
Gabriel Efrati
04-06-2018, 14:01
Salve a tutti, sono un progettista HW che in questo momento sta sviluppando una scheda basata sulla nuova FPGA Stratix10. Nella sceda in questione sara' possibile montare 2 banchi RDIMM DDR4 per un totale di 256GB di memoria, SFP, QSFP e molto altro ancora.
Ora vorrei chiarire che 10Tflops e' un numero indicativo equivalente al numero di transistor necessari a computare tale valore. Nella FPGA ci sono probabilmente tutti i transistors richiesti ma sono anche suddivisi in altri sotto-moduli quali, Transceiver, Memory Controller, DSP, MLAB e decine e decine di altri tipi di hardware specifico. La mia scheda sara' destinata a grandi computazioni e sicuramente portera' ad improvement in ogni settore di ricerca dalla Difesa alla Sanita'. Posso assicurarvi che la quantita' di logica disponibile in una FPGA come la Stratix10 e' realmente grande in ogni qul modo tentiate di definirla.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.