Intel OneAPI raggiunge la versione 1.0 e guarda alle GPU AMD

Intel OneAPI raggiunge la versione 1.0 e guarda alle GPU AMD

Intel OneAPI ha raggiunto la versione 1.0. L'API aperta e agnostica di Intel, che punta a offrire un modello di programmazione unificato per semplificare lo sviluppo tra diverse architetture, punta a espandersi supportando anche le GPU AMD.

di pubblicata il , alle 09:21 nel canale Processori
Intel
 

OneAPI, l'interfaccia di programmazione delle applicazioni che Intel sta sviluppando da fine 2018 e che punta a offrire un modello unificato e aperto per consentire agli sviluppatori di scrivere codice in grado di girare, senza grandi modifiche, su diversi tipi di architetture (CPU, GPU, FPGA e altre soluzioni specializzate), ha raggiunto la versione 1.0.

Si tratta di un traguardo importante, e secondo Sanjiv Shah (VP e GM della divisione Developer Software di Intel) la nuova API va oltre il linguaggio Data Parallel C++ (DPC++), realizzato sulla base di C++ e dell'abstraction layer Khronos SYCL, per offrire numerose librerie dedicate al deep learning, all'analisi dati, al rendering e molto altro ancora. Parlare di versione 1.0 significa che la specifica è pronta all'uso: maggiori informazioni su spec.oneapi.com o su GitHub.

Dato che OneAPI è un progetto aperto e non vincolato all'hardware Intel, ci sono già progetti per il supporto delle GPU Nvidia (portato avanti da Codeplay insieme a Intel) e le librerie girano anche sulle CPU AMD. Intel ha inoltre annunciato un nuovo Academic Center of Excellence (CoE) insieme alla Heidelberg University Computing Center (URZ) per supportare lo sviluppo di OneAPI, lavorando tra le altre cose sul supporto delle GPU AMD grazie all'apporto di Aksel Alpay, creatore di hipSYCL.

16 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
T3mp01 Ottobre 2020, 09:48 #1
ME COJONI!
zappy01 Ottobre 2020, 10:20 #2
non ho ben capito di che si tratta, ma sembra una cosa interessante
coschizza01 Ottobre 2020, 10:26 #3
Originariamente inviato da: zappy
non ho ben capito di che si tratta, ma sembra una cosa interessante

la risposta di intel a CUDA di Nvidia, un Framework che copre a 360 gradi tutto l'hardware e software che si usa in questo campo, se prende piede farebbe il botto
elgabro.01 Ottobre 2020, 10:26 #4
non ho capito a cosa servono queste API.
coschizza01 Ottobre 2020, 10:29 #5
Originariamente inviato da: elgabro.
non ho capito a cosa servono queste API.


per fare quello che fa cuda ma in maniera open senza vincoli di hardware e licenze varie
Unrue01 Ottobre 2020, 11:06 #6
Il problema come sempre saranno le prestazioni. Difficilmente si raggiunge quelle di un codice scritto direttamente in CUDA. D'altro canto c'è la maggior semplicità e flessibilità. Tutto da verificare, vedremo.
cronos199001 Ottobre 2020, 11:17 #7
Originariamente inviato da: elgabro.
non ho capito a cosa servono queste API.
A produrre miele.







[SIZE="1"]Si, insultatemi pure [/SIZE]
lucusta01 Ottobre 2020, 11:19 #8
Originariamente inviato da: Unrue
Il problema come sempre saranno le prestazioni. Difficilmente si raggiunge quelle di un codice scritto direttamente in CUDA. D'altro canto c'è la maggior semplicità e flessibilità. Tutto da verificare, vedremo.


magari, e non è nemmeno detto, sarà difficile farlo con la sola architettura grafica che supporta Cuda.
Cuda rende facile la costruzione del codice perchè hai già pacchetti preconfezionati, ma non è assolutamente un framework che fa lavorare al meglio tutte le architetture... su CPU gira molto meglio openCL e ci sono diverse evidenze a supporto di tale questione.

per quanto riguarda OneAPI non credevo che Intel volesse aprirla al resto dell'HW, o quantomeno sono incredulo che lo voglia fare in maniera Open...
a vedere come si tiene strette le AVX, splittando su codice generico qualsiasi cosa che non sia Genuine Intel su FPU se si usa il suo complilatore e le sue librerie, ero quasi sicuro che l'avrebbe usata esclusivamente per imporre altri standard chiusi.
boboviz01 Ottobre 2020, 11:25 #9
L'andamento attuale sembra essere quello di utilizzare C++ (nelle sue ultime versioni, la 17 e la 20) come base per la programmazione eterogenea e i vari framework (CUDA, OpenCL, ecc) come una sorta di "dialetti" per gpu attraverso vari layer, come Sycl (su cui si basano queste OneApi), C++ for OpenCl e CUDA C++.
Sarebbe veramente un grosso passo in avanti programmare direttamente in C++ e passare il codice facilmente su gpu, fpga, ecc
Catan01 Ottobre 2020, 11:30 #10
è un pò diverso da come è scritto, intanto il fautore principale della cosa è l'università di Heidelberg ( Heidelberg University Computing Center, URZ)

e l'annuncio ufficiale è questo

Intel and Heidelberg University Computing Center (URZ) today announced that they have established oneAPI Academic Center of Excellence (CoE) at UZR. The newly established CoE has a goal to further develop Intel's oneAPI standard and enable it to work on AMD GPUs. This information is a bit shocking, however, Intel believes that the technology should work on a wide range of processors, no matter the vendor. The heterogeneous hardware programming is the main goal here. In a Twitter thread, an Intel employee specifies that Intel has also been working with Arm and NVIDIA to bring Data-Parallel C++ (DPC++), a core of oneAPI, to those vendors as well. That should bring this universal programming model to every device and adapt to every platform, which is a goal of heterogeneous programming - whatever you need to program a CPU, GPU, or some other ASIC, it is covered by a single API, specifically oneAPI.

e continua

URZ's work as a oneAPI CoE will add advanced DPC++ capabilities into hipSYCL, which supports systems based on AMD GPUs, NVIDIA GPUs, and CPUs. New DPC++ extensions are part of the SYCL 2020 provisional specification that brings features such as unified shared memory to hipSYCL and the platforms it supports - furthering the promise of oneAPI application support across system architectures and vendors.


poi se passa alla telenovela su twitter dove un utente ha risposto all'annuncio:

That is kind of shocking. I thought oneAPI would only be contained within and supported by Intel products only.

This is good news.

a cui hanno risposto due persone

Tom Deaking (che è il ricercatore senior per l'high computing archidecture dell'università di brisotol)

OneAPI DPC++ = Khronos SYCL + Intel vendor extensions. Being essentially SYCL means you get a proper royalty-free cross-vendor open standard to use.

e quantum dot che, nonostante il nome, è un accreditato sviluppatore di api per calcolo distribuito di intel:

Not only is it theoretically portable but Intel employees like me care deeply about it actually being so and have worked on the ARM and NVIDIA ports of DPC++ when necessary.


Quindi la traduzione è che fondamentalmente intel stava sviluppando la sua estenzione di openCL (tanto tutto parte sempre da li) per rendere il porting più facile. L'università di Heidelberg vuole portare one api a funzionare sulle gpu amd (ma non capisco perchè già girano su openCL e già esiste SYCL di khronos grup, dove dentro ci stanno MS, AMD, Nvidia, ARM, e pure intel) e c'è stata la conferma che oneAPI , con le dovute modifiche ha girato anche su arm e roba nvidia (grazie al kaiser, visto che già gira SYCL ,che già comprende le estensioni AI del tensorflow di nvidia e il backend con cuda, quindi se mi fai un sycl che ha estensioni per roba intel, ma si porta dietro tutto il resto me pare abbastanza ovvio che giri anche su tutto il resto)

Imho onestamente so contento che l'università di Heidemberg (ci lavora un mio carissimo amico) con sta storia abbia raspato i soldi per aprirsi un centro di eccellenza in computing con i soldi di intel , ma sta cosa di oneAPI me pare il classico annuncio di marketing da grande azienda per dire "sto facendo gratis quello che il consorzio a cui faccio parte già fa in maniera gratuita, ma mi voglio fare un pò di pubblicità e dire che ci sta sta mirabolante cosa che già esiste".

L'unica cosa interessante che vedo è il fatto che ci sia il supporto alle FPGA (visto che intel ha comprato altera), però va capito se agiranno solo sulla parte del core arm che hanno integrato dentro (ormai le più recenti hanno anche un dual core arm integrato, me vengono in mente le xilinx zynq-7020 che ormai costano veramente poco e dentro hanno un arm a9 dual core) o anche sulla parte di logica programmabile (o se quella toccherà sempre scriverla in vhdl o in verilog)

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^