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ş
- OpenACC nedir?
- OpenACC vs OpenCL vs CUDA vs SYCL
- OpenACC özelliklerine ve mimarisine genel bakış
- Geliştirme ortamının kurulumu
Başlangıç
- Visual Studio Code'da bir OpenACC projesi oluşturma
- Proje yapısını ve dosyalarını keşfetme
- Programı derleme ve çalıştırma
- printf ve fprintf ile çıktı görüntüleme
OpenACC Direktifleri ve Maddeleri
- OpenACC direktiflerini ve maddelerini anlama
- Paralel bölgeler oluşturmak için paralel direktifleri kullanma
- Derleyici tarafından yönetilen paralellik için çekirdek direktiflerini kullanma
- Döngüleri paralelleştirmek için döngü direktiflerini kullanma
- Veri direktifleri ile veri hareketini yönetme
- Güncelleme direktifleri ile veriyi senkronize etme
- Önbellek direktifleri ile veri yeniden kullanımını iyileştirme
- Rutin direktifleri ile cihaz fonksiyonları oluşturma
- Bekleme direktifleri ile olayları senkronize etme
OpenACC API
- OpenACC API'sinin rolünü anlama
- Cihaz bilgilerini ve yeteneklerini sorgulama
- Cihaz numarası ve türünü ayarlama
- Hataları ve istisnaları işleme
- Olayları oluşturma ve senkronize etme
OpenACC Kütüphaneleri ve Birlikte Çalışabilirlik
- OpenACC kütüphanelerini ve birlikte çalışabilirliği anlama
- Matematik, rastgele ve karmaşık kütüphaneleri kullanma
- Diğer modellerle (CUDA, OpenMP, MPI) entegrasyon
- GPU kütüphaneleri (cuBLAS, cuFFT) ile entegrasyon
OpenACC Araçları
- Geliştirme aşamasındaki OpenACC araçlarını anlama
- OpenACC programlarını profilleme ve ayıklama
- PGI Compiler, NVIDIA Nsight Systems, Allinea Forge ile performans analizi
Optimizasyon
- OpenACC program performansını etkileyen faktörler
- Veri yerelliğini optimize etme ve aktarımları azaltma
- Döngü paralelliğini ve birleştirmesini optimize etme
- Çekirdek paralelliğini ve birleştirmesini optimize etme
- Vektörleştirmeyi ve otomatik ayarlamayı optimize etme
Özet ve Sonraki Adımlar
Kurs İçin Gerekli Önbilgiler
- C/C++ veya Fortran dili ve paralel programlama kavramlarına ilişkin anlayış
- Bilgisayar mimarisi ve bellek hiyerarşisi hakkında temel bilgi
- Komut satırı araçları ve kod düzenleyicileri ile deneyim
Hedef Kitle
- OpenACC kullanarak heterojen cihazları programlamayı ve paralelliklerinden yararlanmayı öğrenmek isteyen geliştiriciler
- Farklı platformlarda ve cihazlarda çalışabilen taşınabilir ve ölçeklenebilir kod yazmak isteyen geliştiriciler
- Heterojen programlamanın üst düzey yönlerini keşfetmek ve kod üretkenliklerini 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.