Alcuni sviluppatori di Red Hat lavorano a un'alternativa a NVIDIA CUDA

Alcuni sviluppatori di Red Hat lavorano a un'alternativa a NVIDIA CUDA

Alcuni sviluppatori di Red Hat hanno annunciato l'intenzione di sviluppare una nuova piattaforma di calcolo che sia alternativa a NVIDIA CUDA, per lasciare maggiore libertà agli utenti e agli sviluppatori

di pubblicata il , alle 18:41 nel canale Scienza e tecnologia
NVIDIACUDA
 

Alcuni sviluppatori di Red Hat intendono creare una nuova piattaforma di calcolo neutrale rispetto alla GPU, per ribattere a NVIDIA CUDA e contrastarne il dominio. Il progetto non è parte della roadmap ufficiale di Red Hat, ma è piuttosto un progetto indipendente sostenuto dagli sviluppatori.

Red Hat è da tempo impegnata a migliorare il supporto per le schede video su Linux, in particolare per quanto riguarda l'aspetto elaborativo - che è, in fin dei conti, quello più importante per una realtà che opera nel mondo enterprise.

L'intento degli sviluppatori è quello di creare uno strato che risulti compatibile con tutte le GPU, indipendentemente dal produttore, così da non rimanere legati a un singolo nome e da poter operare in autonomia rispetto alle decisioni di quest'ultimo. Basti pensare che NVIDIA ha reso fondamentalmente indispensabile l'uso dei driver chiusi per poter sfruttare appieno le capacità delle schede video nelle ultime tre generazioni; ciò rende i prodotti dipendenti da NVIDIA, che può deciderne le sorti attraverso il supporto dei driver. Una implementazione open source risolverebbe questo problema lasciando il controllo in mano all'utente.

Le implementazioni di AMD e Intel sono, di contro, open source, ma sono specifiche per l'hardware e non possono dunque essere utilizzate in senso generale al momento attuale. La frammentazione che è attualmente presente nel mondo dell'elaborazione su GPU rende più difficile la creazione di progetti e finisce per ridurre la libertà degli utenti costringendoli a legarsi a un singolo produttore.

Al momento attuale il progetto non è ancora pronto, come scrive Phoronix, ma la direzione è chiara ed è condivisa da molti: sono molteplici i tentativi di creare un'alternativa a CUDA, a partire dallo stesso OpenCL, e questo progetto punta a risolvere uno dei problemi più annosi basandosi su del lavoro di supporto che viene già svolto ora. Le premesse sono buone, ma bisognerà vedere se lo sviluppo procederà celermente e quale supporto ci sarà per questa iniziativa.

15 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
jepessen20 Novembre 2018, 21:53 #1
L'alternativa c'e' gia' e si chiama OpenCL...
Spawn758620 Novembre 2018, 22:33 #2
Originariamente inviato da: jepessen
L'alternativa c'e' gia' e si chiama OpenCL...


Quando non si arriva neanche alla fine dell'articolo prima di essere sopraffatti dalla voglia di commentare -_-"
Tedturb020 Novembre 2018, 23:40 #3
Un alternativa a CUDA da RedHat
boboviz21 Novembre 2018, 07:48 #4
Originariamente inviato da: Spawn7586
Quando non si arriva neanche alla fine dell'articolo prima di essere sopraffatti dalla voglia di commentare -_-"

Boh. L'articolo l'ho letto fino alla fine e anche io non ho capito perchè creare ulteriore frammentazione (dicendo di volerla ridurre) e non, per esempio, aiutando seriamente lo sviluppo e l'implementazione di OpenCl (tra l'altro, se non ricordo male, Red Hat è già parte del Kronos Group).
Se poi si legge una cosa del genere:
Le implementazioni di AMD e Intel sono, di contro, open source, ma sono specifiche per l'hardware e non possono dunque essere utilizzate in senso generale al momento attuale
quando una delle caratteristiche principali di OpenCl è di essere hw agnostic...
cignox121 Novembre 2018, 08:43 #5
>>Quando non si arriva neanche alla fine dell'articolo prima di essere sopraffatti dalla voglia di commentare -_-"

Durante la prima parte dell'articolo ho subito pensato: ma non c'é giá OpenCL?
Dopo la lettura dell'articolo ho pensato: ma non c'é giá OpenCL?

Non sono riuscito a capire quale problema o limite avrebbe OpenCL tale da giustificare una nuova piattaforma.
Unrue21 Novembre 2018, 09:03 #6
Originariamente inviato da: cignox1
>>Quando non si arriva neanche alla fine dell'articolo prima di essere sopraffatti dalla voglia di commentare -_-"

Durante la prima parte dell'articolo ho subito pensato: ma non c'é giá OpenCL?
Dopo la lettura dell'articolo ho pensato: ma non c'é giá OpenCL?

Non sono riuscito a capire quale problema o limite avrebbe OpenCL tale da giustificare una nuova piattaforma.


Sono sostanzialmente 3:

1) le performance rispetto al runtime originario (CUDA ad esempio)
2) la lentezza nel portare nuove features dei vari sottosistemi. Se Nvidia tira fuori un nuovo modo di trasferire i dati da CPU a GPU ad esempio ovviamente ci vuole un pò di tempo perché sia implementato in uno standard come OpenCL e anzi non è neanche detto che poi venga implementato. Quindi se usi OpenCL per forza di cose devi rinunciare alle ultime features almeno per un pò oppure del tutto.
3) OpenCL è pensato per usare un generico acceleratore non solo una GPU. E come tutte le cose generiche devi arrivare a fare dei compromessi.

Detto questo ciò non giustifica appieno la scelta di fare un'altra cosa ancora, sarebbe meglio supportare il più possibile OpenCL, ma questo dipende anche da Nvidia e AMD.
carlottobre21 Novembre 2018, 09:11 #7

Effetto IBM

Non dimentichiamoci che IBM si è comprata Red Hat; NVIDIA è oggi (IMHO) il più pericoloso concorrente di IBM nel business che conta, mainframe per grandi centri di calcolo e SW+servizi collegati.
polkaris21 Novembre 2018, 10:35 #8
Mi sembra solo un goffo tentativo di IBM di appropriarsi di un busness che è, e resterà, di NVIDIA. Non vedo come IBM possa fare meglio di CUDA sulle schede NVIDIA.
Unrue21 Novembre 2018, 10:42 #9
Originariamente inviato da: polkaris
Mi sembra solo un goffo tentativo di IBM di appropriarsi di un busness che è, e resterà, di NVIDIA. Non vedo come IBM possa fare meglio di CUDA sulle schede NVIDIA.


Non penso, l'articolo infatti dice così:

Il progetto non è parte della roadmap ufficiale di Red Hat, ma è piuttosto un progetto indipendente sostenuto dagli sviluppatori.
boboviz21 Novembre 2018, 14:29 #10
Originariamente inviato da: Unrue
Sono sostanzialmente 3:
1) le performance rispetto al runtime originario (CUDA ad esempio)

Grazie tante, Cuda è scritto per girare solo ed esclusivamente su un hw DEDICATO. Tutto quello che è customizzato è più performante.
Detto questo OpenCl, in alcuni campi, non ha niente da invidiare a Cuda, anche grazie a strumenti come SYCL.

2) la lentezza nel portare nuove features dei vari sottosistemi. Se Nvidia tira fuori un nuovo modo di trasferire i dati da CPU a GPU ad esempio ovviamente ci vuole un pò di tempo perché sia implementato in uno standard come OpenCL e anzi non è neanche detto che poi venga implementato. Quindi se usi OpenCL per forza di cose devi rinunciare alle ultime features almeno per un pò oppure del tutto.

Non è detto che OpenCl debba per forza "copiare" quello che fa CUDA, anzi. Ultimamente il team di sviluppo sta puntando fortemente sulla integrazione con C++, per unire tra di loro due standard. E non dimentichiamoci della futura fusione con Vulkan.

3) OpenCL è pensato per usare un generico acceleratore non solo una GPU. E come tutte le cose generiche devi arrivare a fare dei compromessi.

E' la sua debolezza. Ed è il suo punto di forza, basti vedere come OpenCl sta entrando di prepotenza nel settore FPGA.

Detto questo ciò non giustifica appieno la scelta di fare un'altra cosa ancora, sarebbe meglio supportare il più possibile OpenCL, ma questo dipende anche da Nvidia e AMD.

Sono d'accordo con te. E ancora non capisco come faccia ad essere a capo di Kronos un uomo di Nvidia.

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.
 
^