Bizi tercih ettiğiniz için teşekkür ederiz. Ekip üyelerimiz en kısa sürede sizlerle iletişime geçecektir.
Rezervasyonunuzu gönderdiğiniz için teşekkür ederiz! Ekibimizden bir yetkili kısa süre içinde sizinle iletişime geçecektir.
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ış
- ROCm for Windows ve Linux için ROCm
Kurulum
- ROCm'nin Windows'a kurulması
- Kurulumun doğrulanması ve cihaz uyumluluğunun kontrol edilmesi
- ROCm'nin Windows'ta güncellenmesi veya kaldırılması
- Yaygın kurulum sorunlarının giderilmesi
Başlarken
- Windows'ta Visual Studio Code kullanılarak yeni bir ROCm projesi oluşturulması
- Proje yapısının ve dosyaların keşfedilmesi
- Programın derlenmesi ve çalıştırılması
- printf ve fprintf kullanılarak çıktının görüntülenmesi
ROCm API'si
- Ana programda ROCm API'sinin kullanılması
- Cihaz bilgilerinin ve yeteneklerinin sorgulanması
- Cihaz belleğinin ayrılması ve serbest bırakılması
- Verilerin ana bilgisayar ve cihaz arasında kopyalanması
- Çekirdeklerin başlatılması ve iş parçacıklarının senkronize edilmesi
- Hataların ve istisnaların ele alınması
HIP Dili
- Cihaz programında HIP dilinin kullanılması
- Verileri yürüten ve işleyen çekirdeklerin yazılması GPU
- Veri türlerinin, niteleyicilerin, operatörlerin ve ifadelerin kullanılması
- Yerleşik işlevlerin, değişkenlerin ve kitaplıkların kullanılması
ROCm ve HIP Bellek Modeli
- Global, paylaşılan, sabit ve yerel gibi farklı bellek alanlarının kullanılması
- İşaretçiler, diziler, dokular ve yüzeyler gibi farklı bellek nesnelerinin kullanılması
- Salt okunur, salt yazılır, okuma-yazma vb. gibi farklı bellek erişim modlarının kullanılması
- Bellek tutarlılık modelinin ve senkronizasyon mekanizmalarının kullanılması
ROCm ve HIP Yürütme Modeli
- İş parçacıkları, bloklar ve ızgaralar gibi farklı yürütme modellerinin kullanılması
- hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x vb. gibi iş parçacığı işlevlerinin kullanılması
- __syncthreads, __threadfence_block vb. gibi blok işlevlerinin kullanılması
- hipGridDim_x, hipGridSync, işbirliği grupları vb. gibi ızgara işlevlerinin kullanılması
Hata Ayıklama
- ROCm ve HIP programlarının Windows'ta hata ayıklanması
- Değişkenleri, kesme noktalarını, çağrı yığınını vb. incelemek için Visual Studio Code hata ayıklayıcısının kullanılması
- ROCm Hata Ayıklayıcısının AMD cihazlarında ROCm ve HIP programlarını hata ayıklamak için kullanılması
- ROCm Profiler'ın AMD cihazlarında ROCm ve HIP programlarını analiz etmek için kullanılması
Optimizasyon
- ROCm ve HIP programlarının Windows'ta optimize edilmesi
- Bellek verimini iyileştirmek için birleştirme tekniklerinin kullanılması
- Bellek gecikmesini azaltmak için önbellekleme ve ön getirme tekniklerinin kullanılması
- Bellek erişimlerini ve bant genişliğini optimize etmek için paylaşılan bellek ve yerel bellek tekniklerinin kullanılması
- Yürütme süresini ve kaynak kullanımını ölçmek ve iyileştirmek için profil oluşturma ve profil oluşturma araçlarının kullanılması
Ö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
- Windows işletim sistemi ve PowerShell’e aşinalık
Hedef Kitle
- ROCm’yi Windows’a kurmayı ve AMD GPU’ları programlamak ve paralelliklerinden yararlanmak 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
21 Saat
Danışanlarımızın Yorumları (2)
Very interactive with various examples, with a good progression in complexity between the start and the end of the training.
Jenny - Andheo
Eğitim - GPU Programming with CUDA and Python
Trainers energy and humor.