image/svg+xml
Logo Tom's Hardware
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Tom's Hardware Logo
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Forum
  • Sconti & Coupon
Black Friday

Novità!

Prova la nuova modalità di navigazione con le storie!

Accedi a Xenforo
Immagine di AMD Ryzen 5 7500X3D: la 3D V-Cache economica costa troppo? | Test & Recensione AMD Ryzen 5 7500X3D: la 3D V-Cache economica costa troppo? |...
Immagine di Windows 26 riprende l’eredità di Vista e 7, ma con stile Windows 26 riprende l’eredità di Vista e 7, ma con stile...

Prestazioni

CUDA, il nuovo linguaggio di programmazione per le GPU Nvidia, promette grandi risultati e mostra le schede video sotto una nuova luce. Cerchiamo di capire un po' di più cosa ci riserva CUDA.

Advertisement

Quando acquisti tramite i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Scopri di più
Avatar di Andrea Ferrario

a cura di Andrea Ferrario

Editor in Chief

Pubblicato il 30/06/2008 alle 11:16 - Aggiornato il 15/03/2015 alle 01:14
  • Nvidia CUDA, GPU all'inizio di una nuova era
  • Nel frattempo
  • Viva la GeForce FX!
  • L'avvento della GPGPU
  • Le API CUDA
  • Alcune definizioni
  • La teoria: CUDA dal punto di vista hardware
  • Pag 2
  • La teoria: CUDA dal punto di vista software
  • In pratica
  • Prestazioni
  • Analisi
  • Conclusioni
  • Intervista
  • Pag 2

Prestazioni

Abbiamo comunque deciso di misurare il tempo necessario per il processo per vedere se esiste un vantaggio nell'usare CUDA anche con un'implementazione cruda, o se è necessaria molta pratica per trarre veramente i benefici dall'uso della GPU. Abbiamo usato un notebook dotato di processore Core 2 Duo T5450 e una GeForce 8600M GT, con Windows Vista. Questo sistema è ben lungi dall'essere un supercomputer, ma i risultati ottenuti sono stati interessanti, anche perché il nostro test non è molto favorevole per la GPU. Nvidia ha certamente tutto l'interesse a mostrare un'enorme accelerazione usando un sistema equipaggiato con una GPU potentissima e un bandwidth mastodontico, ma la realtà dei sistemi in circolazione è ben diversa, come sappiamo.

Questi sono i risultati ottenuti processando un'immagine da 2048x2048:

  • CPU 1 thread: 1419 ms
  • CPU 2 threads: 749 ms
  • CPU 4 threads: 593 ms
  • GPU (8600M GT) blocks of 256 pixels: 109 ms
  • GPU (8600M GT) blocks of 128 pixels: 94 ms
  • GPU (8800 GTX) blocks of 128 pixels / 256 pixels: 31 ms

Abbiamo modificato l'implementazione CPU in maniera tale da renderla thread-ottimizzata. Come abbiamo detto, il codice è ideale per questa situazione: tutto quello che dovrete fare è dividere l'immagine iniziale in tante zone, come se fossero dei thread. Da notare che avremo un'accelerazione lineare passando da uno a due thread sulla nostra CPU dual-core, che mostra la natura altamente parallela del nostro programma di test. Abbastanza inaspettatamente, la versione four-thread si è dimostrata più veloce, dove noi non ci aspettavamo differenze, o meglio, ci aspettavamo una perdita di efficienza a causa del lavoro aggiuntivo necessario per creare i thread addizionali.

Cosa spiegano questi risultati? Difficile da dire, ma pensiamo che il thread scheduler di Windows abbia qualche responsabilità. In ogni caso i risultati rimangono riproducibili. Con una texture di dimensioni inferiori (512x512), il guadagno offerto dalla divisione dei thread è meno marcato (circa il 35%, anziché il 100%), e il comportamento con la versione four-threaded è più logico, poiché non mostra un guadagno prestazionale rispetto alla versione two-thread. La GPU è sempre più veloce, ma in maniera meno marcata.

La seconda osservazione è che anche una GPU "lenta" è circa sei volte più veloce di una CPU di buon livello. Considerando che si tratta di un primo programma, il risultato è molto incoraggiante. I risultati, inoltre, possono ancora migliorare, ricorrendo a blocchi più piccoli. La spiegazione è semplice - il nostro programma usa 14 registri per thread, con blocchi da 256 thread, questo significa 3584 registri per blocco; nel nostro caso abbiamo tre blocchi o 10572 registri. Ma un multiprocessore ha solo 8192 registri, quindi può tenere solo due blocchi attivi. Diversamente, con blocchi da 128 pixel, abbiamo bisogno di 1792 registri per blocco; 8192 diviso 1792, arrotondando all'intero più vicino, si ottengono quattro blocchi. In pratica, il numero di thread è lo stesso (512 per multiprocessore, dove teoricamente il massimo è 768), ma avendo più blocchi, la GPU può essere più flessibile con gli accessi in memoria, e, quando si esegue un'operazione a lunga latenza, può lanciare le istruzioni su un altro blocco, mentre aspetta che arrivi il risultato dell'istruzione precedente. Quattro blocchi riescono a mascherare la latenza, specialmente se il programma effettua diversi accessi alla memoria.

Leggi altri articoli
  • Nvidia CUDA, GPU all'inizio di una nuova era
  • Nel frattempo
  • Viva la GeForce FX!
  • L'avvento della GPGPU
  • Le API CUDA
  • Alcune definizioni
  • La teoria: CUDA dal punto di vista hardware
  • Pag 2
  • La teoria: CUDA dal punto di vista software
  • In pratica
  • Prestazioni
  • Analisi
  • Conclusioni
  • Intervista
  • Pag 2

👋 Partecipa alla discussione! Scopri le ultime novità che abbiamo riservato per te!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?

Invia

Per commentare come utente ospite, clicca cerchi

Cliccati: 0 /

Reset

Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.

Segui questa discussione
Advertisement

Non perdere gli ultimi aggiornamenti

Newsletter Telegram

I più letti di oggi


  • #1
    Lavorare 72 ore a settimana, il nuovo modello che piace a USA e Cina
  • #2
    Scoperti nuovi indizi sulle origini di Homo sapiens
  • #3
    Unieuro non si ferma: le promozioni del Black Friday continuano
  • #4
    Windows 26 riprende l’eredità di Vista e 7, ma con stile
  • #5
    22% di sconto su Amazon con appena 25€ di spesa
  • #6
    Scatta il blocco sui siti porno: cosa succede ora?
Articolo 1 di 5
Windows 26 riprende l’eredità di Vista e 7, ma con stile
Il designer Abdi propone un Windows 26 che recupera l'estetica di Vista e 7 con il Liquid Glass, mentre Microsoft punta su AI e piattaforme agentiche.
Immagine di Windows 26 riprende l’eredità di Vista e 7, ma con stile
9
Leggi questo articolo
Articolo 2 di 5
AMD Ryzen 5 7500X3D: la 3D V-Cache economica costa troppo? | Test & Recensione
L'ultimo nato con 3D V-Cache ha le carte in regola per finire in tutti i PC da gaming entry level, ma dovrà avere il giusto prezzo.
Immagine di AMD Ryzen 5 7500X3D: la 3D V-Cache economica costa troppo? | Test & Recensione
6
Leggi questo articolo
Articolo 3 di 5
La nuova Steam Machine esiste davvero (e non è sola)
Valve annuncia una nuova Steam Machine, ma anche un visore VR standalone Steam Frame e un nuovo controller ibrido.
Immagine di La nuova Steam Machine esiste davvero (e non è sola)
6
Leggi questo articolo
Articolo 4 di 5
AMD Zen 6: la rivoluzione dei 2 nanometri è vicina
Zen 6 segna un passo storico per AMD: architettura a 2 nanometri, prestazioni AI potenziate e continuità sulla piattaforma AM5.
Immagine di AMD Zen 6: la rivoluzione dei 2 nanometri è vicina
5
Leggi questo articolo
Articolo 5 di 5
SteamOS su Arm è un'ottima notizia, non solo per la VR
L'arrivo di SteamOS su architettura Arm grazie al visore Steam Frame segna una svolta importante, dopo anni di supporto esclusivo a x86.
Immagine di SteamOS su Arm è un'ottima notizia, non solo per la VR
10
Leggi questo articolo
Advertisement
Advertisement

Advertisement

Footer
Tom's Hardware Logo

 
Contatti
  • Contattaci
  • Feed RSS
Legale
  • Chi siamo
  • Privacy
  • Cookie
  • Affiliazione Commerciale
Altri link
  • Forum
Il Network 3Labs Network Logo
  • Tom's Hardware
  • SpazioGames
  • CulturaPop
  • Data4Biz
  • TechRadar
  • SosHomeGarden
  • Aibay

Tom's Hardware - Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

3LABS S.R.L. • Via Pietro Paleocapa 1 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

© 2025 3Labs Srl. Tutti i diritti riservati.