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ış
- 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
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.