OpenCL è stato ratificato

Scritto da: -
OpenCL è stato ratificato


Avevamo già riportato il vigore con cui Apple sta spingendo su OpenCL, la tecnologia royalty-free e cross-platform che consente alle moderne CPU di lavorare in parallelo, e se soltanto 20 giorni fa le specifiche erano state approntate, oggi vengono ufficialmente ratificate in tempi record.

A darne notizia è il Khronos group, il consorzio che gestisce direttamente lo sviluppo di OpenCL, che ne annuncia enfatica l’introduzione ed il rilascio:


Siamo molto eccitati per il supporto unanime di OpenCL da parte dell’industria, ha detto Bertrand Serlet, il vice presidente dell’ingegnerizzazione software in Apple. Apple ha sviluppato OpenCL così che qualunque applicazione in Snow Leopard, la prossima versione di Mac OS X, possa sfruttare un’incredibile quantità di potere computazionale precedentemente disponibile solo per le applicazioni grafiche.

Il progetto, cui partecipano nomi del calibro di Apple, NVIDIA, ARM e Intel, porterà all’utente finale semplicemente più potenza e scalabilità perché permette agli sviluppatori di sfruttare l’hardware esistente (CPU e GPU) per produrre performance migliori. Mac OS X Snow Leopard, comunque, è atteso per i primi mesi del 2009.

 

25 COMMENTIAGGIUNGI IL TUO

  • nickname

    MacAttack
    Quello che non mi è chiaro è se si tratta di una semplice tecnologia software o se saranno necessari hw ad hoc. Che dite?
    #1 - Scritto il

  • nickname

    DarkTrent
    Secondo me è del tutto software su CPU e GPU con ISA adeguate… cioè serviranno CPU e GPU da una certa generazione in poi. Più son recenti e più vantaggi avranno. Si parla comunque di GPU con shader programmabili… sono come minimo le ultime revisioni delle schede DirectX9 e quelle DX10.
    #2 - Scritto il

  • nickname

    Giu$o
    MacAttack Tutto software, si parla di siluppare software, programmi o applicazioni perfettamente integrati in osx, e con una collaborazione hardware CPU + GPU per prestazioni superiori a quelle attuali, pur con le potenze computazionali attuali e prossime… DarkTrent Ma DirectX cosa centra con OS X ?
    #3 - Scritto il

  • nickname

    Spike13
    @ Giu$o (e di rimando a DarkTrent): anche perché non mi sembra di aver letto Microsoft tra coloro che stanno spingendo la cosa. Oltretutto ciò cozzerebbe con le parole "royalty-free"… @ MarkAttack: quando le parole avevano un significato "sfruttare l’hardware esistente" voleva dire le macchine presenti in questo momento sul mercato…
    #4 - Scritto il

  • nickname

    bandrew
    Dunque anche un mac di un paio d'anni fa con una scheda video decente potrà avvalersi di questa tecnologia con Snow Leopard? Beh, io spero perchè rivitalizzare un po' la velocità non fa mai male, sarebbe uno dei motivi per cui potrei comprare il nuovo SO senza pensarci troppo, ovviamente dopo il primo aggiornamento.
    #5 - Scritto il

  • nickname

    acrive
    Credo che i tempi record dipendono dalle pressioni Apple. Sappiamo che il prossimo Mac OS (marzo) comprenderà questa ottima tecnologia. In modo da avere un qualcosa di completo. Però l'idea rimane free e cross-platform. Vuoi mettere?
    #6 - Scritto il

  • nickname

    Fonfon
    Leggendo i commenti si capisce che c'e' davvero tanta confusione riguardo a OpenCL. Poi fa sorridere che qualcuno azzardi previsioni su quali schede saranno supportate visto che ad oggi non si sa assolutamente nulla a riguardo. Per chi come bandrew pensa che OpenCL significhi avere un OS piu' veloce mi dispiace dover deludere le aspettative. Questa tecnologia serve principalmente per applicazioni che fanno uso intenso di calcolo in virgola mobile, quindi software di rendering o di elaborazione immagini/video, ma il sistema operativo e la quasi totalita' delle applicazioni non avra' alcun giovamento da OpenCL.
    #7 - Scritto il

  • nickname

    Fonfon
    @acrive ovvio che Apple abbia fretta, pensa solo al fatto che Windows 7 ha il supporto nativo per l'accelerazione hardware per la riproduzione video. Gia' con la pre-Beta puoi vedere un filmato QuickTime full hd con la CPU che e' allo 0% di utilizzo e questo su un PC che costa quanto un MacMini. Un po' imbarazzante per Apple che la miglior piattaforma su cui vedere i filmati QuickTime in alta definizione sia Windows senza neppure bisogno di installare QuickTime, non trovi? :D
    #8 - Scritto il

  • nickname

    G
    FonFon Molte applicazioni di immagini/video fanno giù uso dell'accelerazione grafica, l'obiettivo di OpenCL è appunto di portare questo a tutte le applicazioni. Inoltre OpenCL si avvarrà sì principalmente dalla potenza di calcolo delle schede grafiche, ma potrà beneficiare anche dal processore (non per niente nell'immagine dell'articolo OpenCL sta proprio nell'intersezione tra CPU e GPU)
    #9 - Scritto il

  • nickname

    Giu$o
    Fonfon Giusto quello che dici. "ma il sistema operativo e la quasi totalita’ delle applicazioni non avra’ alcun giovamento da OpenCL" credo che tutte le animazioni e gli effetti grafici di osx e tutta la sua interfaccia abbia un grosso giovamento in termini di fluidità e reattività, cose che certo non mancano ora, ma il meglio è sempre ben accetto…
    #10 - Scritto il

  • nickname

    Fonfon
    @G "l’obiettivo di OpenCL è appunto di portare questo a tutte le applicazioni" Assolutamente no. Le GPU forniscono potenza di calcolo, non velocita' di eseguzione delle istruzioni standard della CPU. OpenCL offre anche strumenti per la gestione del parallelismo limitato alle CPU ma l'implementazione di OpenCL e' troppo macchinosa per avere un futuro in questo senso, bisognera' aspettare che esca qualche framework che renda la cosa fruibile agli sviluppatori in modo piu' semplice. Basta che vedi come viene implementato il parallelismo in C# o in F# per capire che OpenCL e' anni indietro rispetto a quello che c'e' gia' in Windows.
    #11 - Scritto il

  • nickname

    Fonfon
    @G "l’obiettivo di OpenCL è appunto di portare questo a tutte le applicazioni" Assolutamente no. Le GPU forniscono potenza di calcolo, non velocita' di eseguzione delle istruzioni standard della CPU. OpenCL offre anche strumenti per la gestione del parallelismo limitato alle CPU ma l'implementazione di OpenCL e' troppo macchinosa per avere un futuro in questo senso, bisognera' aspettare che esca qualche framework che renda la cosa fruibile agli sviluppatori in modo piu' semplice. Basta che vedi come viene implementato il parallelismo in C# o in F# per capire che OpenCL e' anni indietro rispetto a quello che c'e' gia' in Windows.
    #12 - Scritto il

  • nickname

    Fonfon
    @Giu$o gli effetti grafici e le animazioni non hanno bisogno di OpenCL, basta che usino OpenGL, che c'e' gia' dal secolo scorso.
    #13 - Scritto il

  • nickname

    Spike13
    @ FonFon: già, quello che la Micro$oft ha scippato (registrando un brevetto che era di tutti) al legittimo proprietario, ossia il mondo. Farà lo stesso anche con l'OpenCL?
    #14 - Scritto il

  • nickname

    G
    FonFon “"We are excited about the industry-wide support for OpenCL-” said Bertrand Serlet, Apple's senior vice president of Software Engineering - “Apple developed OpenCL so that any application in Snow Leopard, the next major version of Mac OS X, can harness an amazing amount of computing power previously available only to graphics applications"
    #15 - Scritto il

  • nickname

    Giu$o
    <a href='http://www.apple.com/it/pr/comunicati/2008/06/9-snowleopard.html' rel='nofollow'>http://www.apple.com/it/pr/comunicati/2008/06/9-snowleopard.html</a> Riga 18 "con Open Computing Language (OpenCL), che permette a qualsiasi applicazione di attingere agli ampi gigaflop di potenza di calcolo delle GPU che era in precedenza disponibile solo per gli applicativi grafici"
    #16 - Scritto il

  • nickname

    Fonfon
    @Spike13 considerato che C# e' royalties free e F# sara' open source direi che hai sparato una bella minchi#ta. @Giu$o e tu stai a berti le belinate del marketing Apple? Vai a leggerti le specifiche OpenCL e poi spiegami come farebbe un'applicazione a trarre vantaggio da OpenCL. Le GPU hanno unita' di calcolo puro e semplice non possono eseguire generiche istruzioni x86 o AMD64.
    #17 - Scritto il

  • nickname

    Giu$o
    Fonfon Infatti le generiche istruzioni restano alla cpu, ma l'affiancamento della gpu è un aiuto al processore per renderlo meno carico di lavoro, snellendogli il lavoro. Almeno, io l'ho capita così…..
    #18 - Scritto il

  • nickname

    Fonfon
    @Giu$o, le specifiche sono state pubblicate, basta leggerle per capire che ci sono solo istruzioni matematiche. Di sicuro Apple non andra' a toccare il kernel di OS X perche' non c'e' nulla nel kernel che possa aver bisogno di quelle istruzioni. La UI ha solo bisogno di OpenGL che tra l'altro ha alle spalle anni di vita e quindi garantisce solidita'. OpenCL non da' al processore alcun aiuto in modo "automatico", c'e' bisogno che l'applicazione ne faccia esplicita richiesta, e ripeto, hai solo potenza di calcolo matematico, ma non usi di certo OpenCL in programmi "generici", diciamo che per l'utente domestico OpenCL conta pressoche' zero. Se poi un domani AMD, nVidia e Intel arricchiranno le GPU con istruzioni generiche e se le versioni future di OpenCL ne trarranno vantaggio allora se ne riparlera' ma per ora le cose stanno ben diversamente da come Apple vuol far credere all'utente finale.
    #19 - Scritto il

  • nickname

    Beppe7
    1) la fretta fa i gattini ciechi. Fare le cose in fretta non mi sembra una cosa positiva. E qui' vorrei far notare che si parla di SPECIFICHE. Cosa ben diversa dall'implementazione. E saro' io troppo pessimista ma mi sembra alto, vista la timetable prospettata, il rischio che venga rilasciata una implementazione non completa o consolidata. 2) OpenCL permettera' di sfruttare la potenza di calcolo delle GPU solo ai programmi ESPLICITAMENTE scritti per sfruttarla. I programmi normali non ne trarranno ALCUN beneficio (anche perche' e' opportuno che tale sistema venga sfruttato SOLO quando REALMENTE necessario, in modo da non stressare oltre il lecito la GPU, provocando un aumento dell'energia consumata dal sistema) 3) il CUDA di NVIDIA aveva alla base una idea piu' intelligente, ovvero il poter scrivere direttamente in linguaggio C.
    #20 - Scritto il

  • nickname

    acrive
    !!! Porca miseria.. convinto che l'articolo fosse scritto su ossblog… e l'ho commentato di conseguenza.
    #21 - Scritto il

  • nickname

    mex
    FonFon… l'accelerazione hw della riproduzione video in Windows non ha NULLA a che vedere con OpenCL L'accelerazione video HW é semplicemente data da driver video in grado di sfruttare l'accelerazione HW della scheda video per la riproduzione dei VIDEO ma il tutto si ferma alla riproduzione dei video. OpenCL ti ricordo inoltre che semplifica agli sviluppatori anche l'utilizzo dei multicore, e il nuovo OSX sará indubbiamente piú veloce, non solo grazie ad openCL (che gioverá la dove potrá) ma anche dal fatto che tutto il codice PPC verrá "abbandonato" e il Finder é tutto in COCOA!
    #22 - Scritto il

  • nickname

    Felice Griffi
    Ma se le GPGPU consentono la programmabilità di un subset di istruzioni base. Se queste istruzioni possono eseguire calcoli in virgola mobile e operazioni matematiche. Se il codice nativo in Objective C utilizzerà delle librerie OpenCL per demandare alla GPU dei calcoli in un software non propriamente grafico . Se tutto questo è plausibile e si pone come traguardo per il progetto OpenCL come mai si parla di potenza di calcolo e potenza di esecuzione delle GPU. Non ha senso. Le GPU eseguono dei subset di istruzioni programmaticamente inserite nella loro memoria. Se posso modificare tali istruzioni allora posso far girare qualsiasi contesto applicativo anche non solo algoritmi specifici per la riproduzione video/vertex shader/altro. Sarebbe anche ora che utilizzassero questi fornellini di GPU per fargli eseguire qualcos'altro oltre che l'ultimo videogioco del momento. Per esempio codificare via hardware H264 o affiancarsi a programmi matematici.
    #23 - Scritto il

  • nickname

    Fonfon
    @mex e dove avrei scritto che la riproduzione video in Windows ha a che vedere con OpenCL? Ho scritto che Apple e' indietro rispetto a Windows nell'uso della GPU, e con OpenCL sperano di recuperare un po' di terreno. Se fino ad ora non c'e' uso della GPU per la riproduzione video sul Mac, presumibilmente arrivera' con OpenCL, perche' se non arriva neppure su Snow Leopard, Apple fa veramente una figura grama. Su Windows il componente software che sfrutta l'accelerazione offerta dalla GPU e' il codec, quindi la tua affermazione che l'accelerazione e' data dal driver video e' sbagliata, infatti VLC che ha i suoi codec non sfrutta affatto l'accelerazione hardware. Oltre al fatto che ignori che DirectX 10.1 e DirectX 11 prispettivamente espongono ed esporanno sempre di piu' la GPU per calcoli generici. Sul fatto che usare OpenCL sia piu' semplice che usare il multithreading ho qualche perplessita'. Hai letto un po' le specifiche? Devi usare tipi di dati specifici con tutto quello che ne consegue. Sinceramente non mi pare che usare OpenCL sia particolarmente piu' semplice di usare il tradizionale multi-threading, di sicuro e' almeno 5 anni indietro rispetto a alle estensioni parallele disponibili per C++, C# e F# sotto .Net.
    #24 - Scritto il

  • nickname

    nonna
    Credo che le prime applicazioni a beneficiare di OpenCL saranno quelle che fa la apple stessa, vedi FinalCut, Compressor o Motion. Magari velocizzerà il rendering o migliorerà il realtime di FinalCut. Le altre seguiranno con il tempo, ma di sicuro un Openoffice o un Bittorrent non se ne fanno nulla dell'openCL. Ah, c'è ancora qualcuno che va sui blog apple a cercare di convincere tutti che windows è meglio?! Ma non c'avete proprio un c…. da fare? ;P
    #25 - Scritto il