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
Noctua non testa i prodotti, 'li tortura'. In video i test estremi a cui viene sottoposta una semplice ventola
ASUSTOR aggiorna il sistema operativo: arrivano una migliore gestione termina e account temporanei
TIM eSIM Travel può essere utile quest'estate: fino a 300 Giga per chi viaggia all'estero
App di Spotify piantata sullo smartphone? Ecco cosa sta succedendo
Batterie di accumulo grandi come condizionatori: fino a 3 giorni di autonomia per ogni appartamento
Non è il solito SSD esterno: ecco perché ADATA URBAN TAPSAFE è diverso dagli altri
3 novità ufficiali su WhatsApp: come migliorano le chat di gruppo
Blink Mini e Pan-Tilt tornano disponibili in offerta a 12,99€ e 19,99€: videocamere smart ai minimi storici, prezzi mai visti neanche al Prime Day
Pericoli su ruote 24 ore su 24: la causa dell'ex manager Tesla
Narwal Flow 2 arriva in versione bianca per conquistare le case eleganti: prestazioni sempre al top
Il rientro in ufficio peggiora la produttività: il 72% pensa sia un licenziamento mascherato e boicotta l'azienda
Google rilascia Android 17 QPR2 Beta 2 per i dispositivi Pixel
Gli utenti Xbox potranno trasformare i giochi su disco in licenze digitali: è in arrivo Disc to Digital
Bazzite migliora il supporto alle GPU NVIDIA: sospensione più affidabile e consumi ridotti









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