Difficile la programmazione con CUDA?
Il nuovo progetto di NVIDIA per avvicinare i programmatori alla computazione parallela usando le GPU pare non essere così accessibile come promesso
di Andrea Bai pubblicata il 28 Febbraio 2007, alle 15:28 nel canale SoftwareNVIDIACUDA
Emergono sulla rete le considerazioni di due programmatori, Bryan O'Sullivan e Michael Suess, riguardo il progetto CUDA promosso da NVIDIA. Ricordiamo cosa è CUDA: si tratta di un compendio di strumenti, librerie e estensioni al linguaggio C che da modo agli sviluppatori di poter disporre di possibilità di programmazione più generalizzata per le GPU della serie G8800 di NVIDIA rispetto a quanto permesso normalmente dalle comuni librerie grafiche.
Si tratta di una spinta alla possibilità di utilizzare i processori grafici, caratterizzati da una notevole potenza di calcolo, anche in ambiti diversi dall'accelerazione tridimensionale grazie alla loro possibilità di eseguire operazioni di computazione parallela. I due programmatori, tuttavia, esprimono perplessità sull'effettiva accessibilità da parte di tutti alla programmazione con CUDA.
Secondo quanto si apprende dalle considerazioni di O'Sullivan, che ha avuto modo di lavorare con un compilatore dal quale è stato tratto il compilatore per CUDA, le estensioni C di CUDA sono in realtà piuttosto ridotte e per via di un compilatore probabilmente non ancora affinato, è lasciato al programmatore il compito di dover gestire manualmente la gerarchia di memoria, per altro molto complessa.
In altri termini la programmazione risulta essere molto più vicina al linguaggio macchina che a linguaggi di alto livello e il programmatore si trova nella condizione di dover prestare estrema attenzione ad una serie di aspetti per poter trarre il massimo delle prestazioni dalle GPU delle serie 8800. Secondo O'Sullivan è addirittura possibile che i pochi programmatori che dovessero decidere di affrontare il gravoso lavoro di programmazione sarebbero in grado di ottenere applicazioni che sfrutterebbero solamente il 10% delle potenzialità teoriche offerte da CUDA.
Sulla stessa scia di pensiero è Michael Suess che, riportando le opinioni di uno studente che ha avuto modo di confrontare CUDA con Cell a seguito di un periodo di lavoro in IBM. dichiara che la principale difficoltà di programmazione per quest'ultima è proprio l'architettura memoria, mentre Cell risulta molto più semplice da approcciare.
Sebbene entrambe le soluzioni siano caratterizzate da una gerarchia della memoria che deve essere gestita direttamente dal programmatore, nel caso di Cell si tratta di un processore pensato per essere facilmente programmabile da tutti i programmatori, con l'obiettivo preciso di facilitare al programmatore la gestione della gerarchia di memoria, mentre le GPU 8800 sono state realizzate con l'obiettivo di fornire principalmente prestazioni 3D di alto livello, avendo come target primario di programmazione i realizzatori di videogiochi che utilizzano DirectX e quindi hanno poco a che fare con i problemi della gestione della memoria.
Per entrambi i programmatori comunque CUDA è un progetto valido dal punto di vista delle potenzialità che è in grado di offrire anche se, almeno per ora, non è così facilmente accessibile come lo si vuol dipingere.










Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Trump lancia l'idea della Freedom Car: veicoli offline e senza sistemi avanzati di assistenza
Il metallo liquido fuoriesce e brucia il Lenovo Legion 7i, l'azienda non offre alcuna sostituzione
Datacenter AI in Norvegia: Anthropic sceglie Volta e i sistemi NVIDIA Vera Rubin
cPanel, falla 9,4 su 10: un cliente dell'hosting comanda tutti i database
Perché Tao ottiene da ChatGPT risposte impossibili per gli altri: il segreto non è il prompt perfetto
'L'industria dell'IA è marxista': il filosofo alla guida di Palantir critica il modello di business delle big tech
Fastweb alza ancora i prezzi, fino a 48 euro in più all'anno per i clienti della rete fissa
Da uomo più ricco del mondo a incubo finanziario: azioni, debiti e un giudice di mezzo per Larry Ellison
Primo bilancio di SpaceX da quotata in borsa: come sta andando l'azienda di Musk?
Project Helix potrebbe essere in grado di riprodurre tutti i giochi per XBOX, dal 2001 a oggi
Licenziamenti lampo a due mesi dal debutto: cos'è successo davvero dietro le quinte di FIFA?
Spotify supera quota 300 milioni di abbonati Premium e registra una crescita record
Un gancio stampato in 3D regge il triplo grazie ad un inserto in fibra di carbonio
HDR10+ ADVANCED in arrivo ad agosto sui TV Samsung 2026 e Prime Video









16 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoin ogni caso è ovvio che un architettura come il cell è più versatile di una 8800 in quanto quest ultima è nata per la grafica come detto ed ha introdotto alcune caratteristiche x facilitare un po' la gestione ma questo non vuol dire che si tratta di un processore general purpose
se questa è l'opione di uno che ha lavorato con un compilatore dal quale poi è stato tratto cuda, si può stare traqnuilli!
anche mio cuGGino dice che non va bene, me lo ha detto oggi, subito dopo di avermi raccontato di quella volta che è morto... e il suo è un parere autorevole, almeno quanto come quello di questi due signori qui...
Non la metterei così, fai sembrare che nVidia ha copiato da ati, mentre è da mò che le aziende produttrici di hw si sono rese conto che potrebbero aumentare gli utili se trovassero una giustificazione ulteriore all'utilizzo delle schede video in ambito 3d (videoludico e non), e quindi un target ulteriore. Le schede ci sono, mancano le librerie, anche se nulla impedisce ad una azienda realmente interessata in soluzioni sul genere di studiarsi le sue.
Quindi non sarei così pessimista per l'utilizzo delle gpu nuove per calcoli fpu. Vedremo fra un po' quando ci saranno software programmati decentemente.
non esattamente. Nell'articolo si menziona proprio la difficoltà nella gestione della memoria. Nel cell invece è stato fatto uno studio approfondito sulla questione e sono state introdotte diverse soluzioni del tutto nuove e incredibilmente efficienti. Il cell infatti ha 3 stadi per memorizzazione delle informazioni, in più basti pensare che il controller di memoria interno può gestire fino a 120 accessi concorrenti e indipendenti alla memoria (che possono essere effettuati dalla ppe o dalle varie spe). Un valore impressionante se si pensa che è almeno 20 volte superiore a quello di un core 2 duo...
il confronto è a dir poco improponibile... è logico poi che il cuda ne esce con le ossa rotte...
Quindi non sarei così pessimista per l'utilizzo delle gpu nuove per calcoli fpu. Vedremo fra un po' quando ci saranno software programmati decentemente.
Cosa c'entra Gelato con CUDA?
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".