by legacy » 29 Oct 2012, 07:35
A meno che tu intenda fare modellazione hobbistica, quindi comportarti da mero utilizzatore (come me) di Apps (2) di computer grafica (cosa che costa solo un PC carrozzato e 1000 e rotti euro per il software, tutto sommato per un hobby ci sta'), direi che per hobby altro non ha proprio senso!
Ha invece senso per business dove pero' se ci devi investire (giustificando i costi di fare cio') e' perche' e' vitale cavalcare l'onda e dove al giorno d'oggi si tenta di farlo sopratutto erodendo i costi ed i consumi, altrimenti lasci perdere.
La potenza e' mulla senza controllo: ecco perche' personalmente ci credo poco che OpenCL possa permettere di implementare soluzioni sia su GPU che su FPGA, sono due cose distinte e vantano interessi commerciali diversi. Il mercato delle GPU ha dipendenze strette con un solo sistema operativo: Windows.
Le GPU sono potentissime, e c'e' una fortissima dipendenza dai driver (il controllo), lo sa benissimo chiunque debba sviluppare video giochi o App GPU accellerate: sa che Linux e' del tutto inadeguato da questo punto di vista, serve troppo lavoro di revisione, oltre alla sua natura altamente entropica e fuori controllo.
Nemmeno SGI ci investe su linux, e tutto quello che propone e' fare vagonate di consulenze e commesse su misura per i clienti con le esigenze piu' disperate, sono queste che poi vengono messe a marchetta per dire quanto e' buono linux, lo fa anche IBM per farsi pubblicita', ma nei casi reali paghi lunghe e costose consulenze (perche' e' di questo che campa chi fa linux), per tutti gli altri (che comunque non sborsano pochi quattrinI) c'e' WIndows.
Windows offre driver adeguati per le GPU e vanta diverso interesse commerciale da diversi partner commerciali, tra cui i primi sono i costruttori delle GPU, linux ha ancora problemi seri con i framebuffer e non se lo fila nessuno, a meno che ci sia specifico interesse a farlo.
Fino al 2004 per fare supercomputer dovevi chiamare SGI che ti propinava sistemi miniNUMA(flex) basati su una architettura e su uno UNIX proprietario, tutto cio' era costosissimo vuoi per l'assistenza vuoi per i costi di licenze, pero' per quei tempi se volevi super computer c'era solo SGI, o HP. Ora che i PC sono delle belve potentissime e il mercato si e' omologato (tanto per dire anche i Mac sono dei PC) l'idea e' di prendere PC e di infilarci dentro schede GPU su pci-e: tutto cio' costa di meno di distemi dedicati come faceva SGI fino al 2004 !
Costa di meno e consuma di meno !
del resto chi ci ha investito fino ad oggi ? who are the Implementers of OpenCL ?
- AMD
- ARM
- Intel
- Apple, Inc.
- Vivante Corporation
- STMicroelectronics International NV
- IBM Corporation
- Imagination Technologies
- Creative Labs
- NVIDIA
Il loro interesse e' fare o usare GPU!
Prendi Apple, Apple supporta OpenCL in macOSX per Apps come { Maya, Houdini } (2) tutte accelerate !
Ora, prendi singolarmente Altera perche' dovrebbe uniformarsi verso le GPU ?
Forse per dare una alternativa. OpenCL fra l'altro e' aperto. Forse, o forse vuole sfruttare l'onda, come fanno i surfisti !
Altera fa sicuramente i suoi di interessi, e per me in questi interessi vuole ripagarsi degli investimenti che ha fatto ad es su Verilog, che e' piu' un simulatore che un linguaggio di sintesi, e non mostra ancora tutta la sua potenza di funzionamento nei modelli a transizione di livelli e comportamentali, tanto e' vero che solo il 10% del linguaggio e' sintetizzabile, cio' significa che puo' fare di piu', oggi porta tanta meta informazione, tutte cose utili ai motori di sintesi quanto ostiche per gli umani, sopratutto se si tratta di fare grossi progetti di tante cose parallele, ed ecco che arrivati al livello di complicatume attuale per ridurre il time-to-market appare adeguato un co-aiuto: e questo co-aiuto viene proprio dalle nuove promesse, qualcosa che sia piu' semplice e meglio regolato del baruffo del Verilog puro sfruttando meglio lo strumento!
Come sia OpenCL in concreto mi e' relativamente chiaro, e' un dannato mattone di cose in C++11 da sapere che bene o male sono scritte e pubblicate.
Quanto voglia fare invece Altera mi e' fumoso, non l'ha precisato nei dettagli (1), pero' per me Altera e amici delle logiche di sintesi, frose sbaglio, ma mi aspetto un mapping di modelli C++11 verso modelli a transizione di livelli e comportamentali, cioe' un lavoro che in soldoni permetta di sfruttare meglio la meta informazione di strumenti di descrizione dell'hw come Verilog sfruttando tutto il lavoro e il know/how gia' fatto da Altera in passato.
Ho citato Verilog perche' lo conosco dall'erasmus, e mi fu proprio fatto notare quel 10% di potenzialita' realmente sfruttato.
(1) la mia risposta alla seguente e' stata: "ehhhh ????"
Koumei Tomida, Manager, Controller Platform Development V, Controller Development Group, at Fuji Xerox commented, “Using an OpenCL flow for FPGAs is intriguing as it gives us access to the latest generation of high-performance FPGAs, while providing us a significant reduction in time to market. Based on our initial use of Altera’s OpenCL tool, we have been able to quickly and easily optimize our OpenCL kernels to target Altera FPGAs for higher performance and seamlessly integrate our design into the high-performance fabric of an FPGA.]”