|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#41 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
nella slide che ho postato? se si, non indica che si appoggia ma che questi "sistemi" sono compatibili. non conosco simplecl e graphite. @tutti: perché non continuiamo la discussione dopo aver visto le slide? |
|
|
|
|
|
|
#42 |
|
Bannato
Iscritto dal: May 2012
Messaggi: 10789
|
Prima volevi un risposta e poi mi ignori ?
|
|
|
|
|
|
#43 |
|
Member
Iscritto dal: Dec 2008
Città: Roma
Messaggi: 73
|
@digieffe
Sì dalle slide, in particolare la n.7 del gruppo in basso a destra. Cito, non integralmente: "HSA Parallel Execution Model: Programmer supplies a kernel that is run on each work-item Programmer specifies grid dimensions" E' il classico approccio dei linguaggi paralleli, come OpenCL, C++ AMP, CUDA: scrivi un kernel per il parallel device in un linguaggio con certi costrutti (tipi di dato, definizione di grid etc.) e poi lo dai in pasto ad un compilatore specifico per la ISA in gioco. Non per nulla, si fa esplicito riferimento, tra gli ambienti compilati (JVM a parte, insomma), a OpenCL e C++ AMP: per "rassicurare" in qualche modo gli sviluppatori che già li usano. Tempo fa, il gruppo PGI (Portland) ha fatto una cosa molto simile, con precompilatore in vendita a circa 500 euro (l'ho anche provato). Ma è un approccio che non mi trova d'accordo, lock-in, niente trasversalità (no Intel, no NVidia, no ARM almeno con certe IP integrate) etc. :-( |
|
|
|
|
|
#44 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
Risolto i suoi limiti in ambito gamig? Utilizzando l'ipg per svolgere buona parte del lavoro della cpu? (forse ho detto qualcosa di simile ma non questo) in ogni caso, cortesemente mi riporteresti il mio post evidenziando le parti in questione, così ne chiariamo pacificamente? in ogni caso non sono un fanboy di amd e nei thread amd sono molto critico. |
|
|
|
|
|
|
#45 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
|
|
|
|
|
|
|
#46 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
|
|
|
|
|
|
|
#47 |
|
Member
Iscritto dal: Dec 2008
Città: Roma
Messaggi: 73
|
@PaulGuru:
Premetto che non sono un gran simpatizzante AMD negli ultimi tempi, anche se all'epoca degli Athlon mi avevano conquistato il cuore. :-) Però è vero che un approccio di questo tipo (HSA con hUMA) può risolvere tanti colli di bottiglia, anche in ambito gaming. Sulla carta almeno! Finché devi passare per una chiamata a sistema per far iniziare a lavorare una GPU, hai un ritardo orrendo. In certi casi il ritardo per la partenza del kernel è tale, da mangiarsi quasi interamente il guadagno in termini di velocità di elaborazione. Bypassare la chiamata a sistema (HSA) renderebbe la GPU utile anche per "piccoli" lavori che normalmente sarebbero inefficienti per il ritardo della partenza del kernel. Inoltre le GPU lavorano male quando c'è branching. O il programmatore se ne fa carico ( :-( ) o la GPU dovrebbe poter chiamare la CPU quando ci sono parti del codice che non sono adatte a lei. Oggi non lo può fare (neanche nelle architetture integrate Intel, che pure sono quasi-hUMA), con HSA sì. In più oggi devi spostare continuamente i dati tra memoria CPU e memoria GPU; è un'operazione lenta, sia perché anche in quel caso devi passare per una chiamata a sistema, sia perché il passaggio tramite PCIExpress penalizza le prestazioni rispetto all'accesso diretto a memoria. Con hUMA risolvi il problema. Che AMD abbia visto bene si capisce anche dal fatto che NVidia sta inserendo CPU ARM nelle sue prossime architetture GPU, per evitare questo ping-pong attraverso OS e PCI-Express tra CPU e GPU. Poi sono d'accordo con te che tra il dire e il fare...! |
|
|
|
|
|
#48 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
ti ho risposto, è che ho un certo lag per via del multitasking al quale sono sottoposto.
@tutti: mi scuso con il ritardo con il quale sono costretto a rispondere, questo out of syncro può rendere i miei interventi meno logico |
|
|
|
|
|
#49 |
|
Member
Iscritto dal: Dec 2008
Città: Roma
Messaggi: 73
|
Ragazzi bella chiaccherata, un grazie a tutti e specialmente a digieffe, ora devo scappare.
Speriamo di vedere presto qualche ricaduta pratica di queste innovazioni architetturali. Se non per i piccoli/medi team di sviluppo indipendenti, almeno per gli utenti finali (es.: il QuickSync di Intel si "vede" :-) ). Almeno fornissero librerie runtime già ottimizzate, sarebbe qualcosa. Con OS-X, ad esempio, Apple ha realizzato librerie runtime C e C++ che implementano già, in modo trasparente per utente e sviluppatore: multicore, vettorializzazione e in qualche caso esecuzione su GPU. Anche quella è una strada, anche se meno attraente di un singolo kit SDK open source condiviso e implementato da tutti. :-) |
|
|
|
|
|
#50 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
Edit: la mia sensazione (ricordi non chiari) era errata, applicavo mentalmente l'autoparallelizzazione e autovettorializzazione di llvm ad hsail. sarà necessario capire a che punto di maturità è llvm e come lo integreranno in questa soluzione. Ultima modifica di digieffe : 23-10-2013 alle 15:39. |
|
|
|
|
|
|
#51 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Leggerò le slide con comodo (ci vorrà qualche oretta), ma la cosa sembra a pelo molto interessante
Mi chiedevo una cosa, ma a sto punto se è così facile come dicono parlare direttamente con la GPU si potrebbe fare a meno dei driver? Un ipotetico OS futuro potrebbe far disegnare le finestre direttamente alla GPU? A me pare possibile... e sembra, in effetti, logico Una nota LLVM di per sè è una Macchina Virtuale a basso livello quindi cosa MOLTO diversa da GCC, la cosa più simile a GCC in quel mondo è LCC che però al momento non è finito e si preferisce usare un loro fork dello stesso GCC che, però non compila codice macchina, ma bitcode (sì la 'y' manca volutamente Con LLVM, però, puoi compilare JAVA, C, C++ e potenzialmente qualsiasi cosa... è persino banale scrivere il proprio linguaggio di programmazione[1] e sospetto questa sia la via seguita da AMD... non programmerai in C/C++, ma in qualcosa di molto simile e sarà poi LLVM a farsi il c*lo ![]() Egoisticamente dobbiamo sperare che AMD abbia fatto il colpaccio come con X64 e che nonna Intel sia costretta a seguirla con la coda tra le gambe [1] Vedi il toy language "Kaledoscopie" ci ho capito persino qualcosa io e mi è persino venuta voglia di cimentarmici
|
|
|
|
|
|
#52 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
io intendevo llvm IR e strumenti relativi. |
|
|
|
|
|
|
#53 | ||
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Quote:
Pensavo alla possibilità di scrivere una sorta di "Poor Man's Driver" per OS Open Source che per un motivo o per l'altro non può avere i Driver (per esempio il "mio" Haiku non supporta manco una banalissima GPU Intel ficcata dentro la CPU (Non nascondiamoci dietro ad un dito AWT e SWT non sono venuti bene, e la versione di Eclipse è peggio perchè non supporta il Garbage Collector... liberare memoria? In JAVA?) E' appunto ciò di cui parlavo Bitcode o IR - Intermediate Representation, ma facciamolo dire a loro: Quote:
LLVM, ovviamente, può essere un modo per "compilare" HSAIL, a quanto pare JVM è un altro Accidenti! Ricompilano JAVA in LLVM IR e poi in Open CL! Vi rendete conto? Tu scrivi "normale" JAVA e lui di soppiatto lo trasforma per vostre stesse parole in quel m*rdaio di Open CL o, bontà di LLVM, in un paio di thread JAVA se la vostra GPU fa schifo... a Runtime s'intende Non è che va a finire che JAVA diventa veloce come C/C++ o persino più veloce? Di sicuro sarà più facile da programmare senza gli orridi Posix Threads o OpenMP Il passo successivo? Riscrivere Java in modo che non crei più bytecode, ma direttamente HSAIL loro lo chiamano "Sumatra Project" Anche la Microsoft, se vuole, lo fo fare a .NET, i ragazzi di Qt potrebbero compilare per HSAIL, gli GNU possono mettersi a riscrivere GCC (auguri!)... Dite che non è aperto? Tutt'altro io vedo ad occhio centinaia di pagine di Specifiche cosa volete di più? Che lo scrivano al posto vostro ?
Ultima modifica di fano : 24-10-2013 alle 00:40. |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:11.





















