Torna ai corsi
AI024 Professional

Introduzione alla programmazione ROCm e HIP: Un tutorial pratico

Una guida pratica e moderna alla programmazione GPU AMD con ROCm e HIP. Copre l'intero stack software, l'installazione, i flussi di build, la programmazione dei kernel, la gestione della memoria, l'ingegneria delle prestazioni, l'uso delle librerie, il porting da CUDA e le pratiche di debug in produzione.

5.0
30.0h
361 studenti
0 mi piace
Intelligenza Artificiale
Inizia ad imparare

Panoramica del corso

📚 Riepilogo del contenuto

Una guida pratica e moderna alla programmazione GPU AMD con ROCm e HIP. Copre l'intero stack software, l'installazione, i flussi di compilazione, la programmazione dei kernel, la gestione della memoria, l'ingegneria delle prestazioni, l'uso delle librerie, il porting da CUDA e le pratiche di debug in produzione.

Padroneggia la programmazione GPU AMD e la portabilità da CUDA a HIP con questo approfondimento tecnico.

Autore: EvoClass

Ringraziamenti: Documentazione ufficiale AMD su ROCm e HIP, inclusi progetti come ROCm, HIP e ROCm LLVM.

🎯 Obiettivi di apprendimento

  1. Definire HIP e il suo ruolo nell'ecosistema ROCm in una singola frase concisa.
  2. Distinguere tra ROCm (piattaforma), HIP (interfaccia) e le librerie ROCm (elementi costitutivi).
  3. Identificare i livelli gerarchici dell'architettura ROCm dal hardware ai framework applicativi.
  4. Definire il rapporto tra l'SDK HIP e la piattaforma ROCm su diverse sistemi operativi.
  5. Eseguire un flusso di installazione sistematico, compresa la verifica della matrice di supporto e la configurazione dei percorsi post-installazione.
  6. Compilare ed eseguire un programma di verifica minimo per risolvere problemi comuni di driver e accesso all'ambiente.
  7. Comprendere perché una strategia di build robusta è essenziale per conciliare la portabilità del codice sorgente con le prestazioni specifiche dell'architettura.
  8. Implementare lanci di kernel portabili utilizzando il macro hipLaunchKernelGGL come alternativa alla sintassi a triple parentesi angolari di CUDA.
  9. Configurare progetti CMake di livello produttivo che mirino a architetture ROCm specifiche e gestiscano dipendenze esterne.
  10. Definire l'anatomia di un kernel HIP e applicare la formula base per l'indicizzazione dei thread.

Lezioni