Eğitim İçeriği

Giriş

  • ROCm nedir?
  • HIP nedir?
  • ROCm, CUDA ve OpenCL karşılaştırması
  • ROCm ve HIP özelliklerine ve mimarisine genel bakış
  • Geliştirme Ortamının Kurulumu

Başlangıç

  • Visual Studio Code kullanarak yeni bir ROCm projesi oluşturma
  • Proje yapısını ve dosyalarını keşfetme
  • Programı derleme ve çalıştırma
  • printf ve fprintf kullanarak çıktıyı görüntüleme

ROCm API'si

  • ROCm API'sinin ana programdaki rolünün anlaşılması
  • ROCm API'sini kullanarak cihaz bilgilerini ve yeteneklerini sorgulama
  • ROCm API'sini kullanarak cihaz belleğini ayırma ve serbest bırakma
  • ROCm API'sini kullanarak verileri ana bilgisayar ve cihaz arasında kopyalama
  • ROCm API'sini kullanarak çekirdekleri başlatma ve iş parçacıklarını senkronize etme
  • ROCm API'sini kullanarak hataları ve istisnaları işleme

HIP Dili

  • HIP dilinin cihaz programındaki rolünün anlaşılması
  • HIP dilini kullanarak GPU üzerinde yürütülen ve verileri işleyen çekirdekler yazma
  • HIP veri türlerini, niteleyicilerini, operatörlerini ve ifadelerini kullanma
  • Yaygın görevleri ve işlemleri gerçekleştirmek için HIP yerleşik işlevlerini, değişkenlerini ve kitaplıklarını kullanma

ROCm ve HIP Bellek Modeli

  • Ana bilgisayar ve cihaz bellek modelleri arasındaki farkın anlaşılması
  • ROCm ve HIP bellek alanlarını kullanma, örneğin global, paylaşılan, sabit ve yerel
  • ROCm ve HIP bellek nesnelerini kullanma, örneğin işaretçiler, diziler, dokular ve yüzeyler
  • ROCm ve HIP bellek erişim modlarını kullanma, örneğin salt okunur, salt yazılır, okuma-yazma vb.
  • ROCm ve HIP bellek tutarlılık modelini ve senkronizasyon mekanizmalarını kullanma

ROCm ve HIP Yürütme Modeli

  • Ana bilgisayar ve cihaz yürütme modelleri arasındaki farkın anlaşılması
  • ROCm ve HIP iş parçacıklarını, bloklarını ve ızgaralarını kullanarak paralelliği tanımlama
  • ROCm ve HIP iş parçacığı işlevlerini kullanma, örneğin hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x vb.
  • ROCm ve HIP blok işlevlerini kullanma, örneğin __syncthreads, __threadfence_block vb.
  • ROCm ve HIP ızgara işlevlerini kullanma, örneğin hipGridDim_x, hipGridSync, işbirliği grupları vb.

Hata Ayıklama

  • ROCm ve HIP programlarındaki yaygın hataların ve hataların anlaşılması
  • Visual Studio Code hata ayıklayıcısını kullanarak değişkenleri, kesme noktalarını, çağrı yığınını vb. inceleme
  • ROCm Hata Ayıklayıcısını kullanarak AMD cihazlarında ROCm ve HIP programlarını ayıklama
  • ROCm Profiler'ı kullanarak AMD cihazlarında ROCm ve HIP programlarını analiz etme

Optimizasyon

  • ROCm ve HIP programlarının performansını etkileyen faktörlerin anlaşılması
  • ROCm ve HIP birleştirme tekniklerini kullanarak bellek verimini iyileştirme
  • ROCm ve HIP önbellekleme ve ön getirme tekniklerini kullanarak bellek gecikmesini azaltma
  • ROCm ve HIP paylaşılan bellek ve yerel bellek tekniklerini kullanarak bellek erişimlerini ve bant genişliğini optimize etme
  • ROCm ve HIP profil oluşturma ve profil oluşturma araçlarını kullanarak yürütme süresini ve kaynak kullanımını ölçme ve iyileştirme

Özet ve Sonraki Adımlar

Kurs İçin Gerekli Önbilgiler

  • C/C++ dili ve paralel programlama kavramlarına ilişkin anlayış
  • Bilgisayar mimarisi ve bellek hiyerarşisi konusunda temel bilgi
  • Komut satırı araçları ve kod düzenleyicileri ile deneyim

Hedef Kitle

  • ROCm ve HIP'i kullanarak AMD GPU'leri programlamayı ve paralelliklerinden yararlanmayı öğrenmek isteyen geliştiriciler
  • Farklı AMD cihazlarında çalışabilen yüksek performanslı ve ölçeklenebilir kod yazmak isteyen geliştiriciler
  • GPU programlamanın düşük seviyeli yönlerini keşfetmek ve kod performansını optimize etmek isteyen programcılar
 28 Saat

Katılımcı Sayısı


Kişi Başına Fiyat

Danışanlarımızın Yorumları (2)

Yaklaşan Etkinlikler

İlgili Kategoriler