Come confrontare correttamente i processori AMD Stream e i core NVIDIA CUDA


Migliore risposta

AMD ha dato più peso al parallelismo a livello di thread. Supporta 40 thread in-flight per pipeline di GPU.

Nvidia si è concentrata su migliori prestazioni della cache e comunicazione thread-thread. Ad esempio, puoi inviare un dato da pipeline-1 a pipeline-2 direttamente in 1 ciclo utilizzando listruzione warp shuffle. Se vuoi inviare dati da pipeline-1 a pipeline-1024, devi utilizzare cache / memoria condivisa che è anche più veloce della sua controparte Amd.

Per fare un benchmark equo, lo farei

  • aumentare il numero di elementi di lavoro inviati alla GPU AMD in modo che riempiano completamente le sue pipeline
  • ottimizzarli con warp shuffles ecc. per Nvidia.

Per un confronto hardware diretto, va considerata ogni serie di GPU e sarebbe un confronto molto complesso con tante cose sulla carta. Il modo migliore per conoscere le prestazioni è il benchmarking.

Ad esempio, se esiste un benchmark di simulazione della galassia N-body, avrei più thread per massa in AMD e 1 thread per massa in Nvidia. Quindi ottimizzerei entrambi utilizzando il “tiling” sulla memoria condivisa veloce. Ma su Nvidia, aggiungerei un secondo strato di “piastrellatura” usando i riordini warp. I warp shuffles condividono efficacemente larchiviazione dei registri con le pipeline adiacenti in modo che la dipendenza dalla memoria diminuisca e le prestazioni aumentino. Ma è solo CUDA. OpenCL non dipende dalla piattaforma scambiando un po di potenziale di miglioramento delle prestazioni.

Risposta

AMD attualmente vende processori con qualsiasi cosa da 2 a 64 core di CPU. Di seguito è riportato un elenco di diverse linee di prodotti e serie di CPU / APU AMD (le APU sono ciò che AMD chiama CPU con grafica integrata) e il numero di core corrispondente.

Si noti che ciascuna di queste linee di prodotti contiene diverse generazioni e modelli specifici o “SKU” (Stock Keeping Units) di CPU, quindi, ad esempio, un Ryzen 7 1700 è più lento di un Ryzen 7 3700X, anche se sono entrambe CPU Ryzen 7 a 8 core:

A-Series (APU a bassa potenza costruiti su architetture “bulldozer” obsolete e inefficienti. Di solito non vale la pena acquistarlo):

  • A4 – 2 core
  • A6 – 2 core
  • A8 – 4 core
  • A9 – 2 core
  • A10 – 4 core
  • A12 – 4 core

Serie Athlon X (come la serie A, ma senza la grafica. Non acquistare.)

  • Athlon X2 – 2 core
  • Athlon X4 – 4 core

FX-Series (CPU “bulldozer” simili alla serie A, ma senza grafica integrata e un po più veloci. Difficile da raffreddare a sufficienza. Di solito non vale la pena acquistarlo )

  • FX 4xxx – 4 core
  • FX 6xxx – 6 core
  • FX 8xxx – 8 core
  • FX 9xxx – 8 core

Athlon serie G (APU economiche costruite su moderne architetture “Zen” con una buona grafica integrata. Una buona opzione di fascia bassa, poiché ciascuno dei core è molto più veloce di due core bulldozer)

  • (tutte le varianti) – 2 core

Serie Ryzen (CPU “Zen” di fascia media e alta, con prestazioni multicore elevate. Include anche alcune APU con una potente grafica integrata, quelle con un nome di modello che termina con “G”)

  • Ryzen 3 – 4 core
  • Ryzen 5 – 6 core (4 core per APU)
  • Ryzen 7 – 8 core
  • Ryzen 9 – 12 o 16 core
  • Ryzen Threadripper – da 8 a 64 core (destinati a PC workstation di fascia alta)

Serie EPYC (CPU server e HPC / supercomputer “Zen”. Può essere utilizzata nei desktop, ma non destinato a questo)

  • EPYC – da 8 a 64 core

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *