OPENCL İLE GPU PROGRAMLAMA EĞİTİMİ

GPU gücünü OpenCL ile kendi kodunuza taşıyın

Platform/Context/Queue modeli, kernel yazımı, work-group, local/global bellek, event, profiling ve vektör toplama, matris çarpımı, redüksiyon optimizasyonları.

OpenCL ile GPU programlamayı öğrenin: platform ve queue modeli, OpenCL C kernel yazımı, bellek hiyerarşisi, tiled matris çarpımı, redüksiyon ve profiling ile optimizasyon uygulamaları.

2 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

OpenCL ile GPU ve heterojen programlama

Eğitim, OpenCL ile GPU ve çok çekirdekli cihazlarda paralel programlamayı kapsar: platform, device, context, command queue ve program nesneleri, OpenCL C kernel yazımı, NDRange, work-item ve work-group, global/local/private/constant bellek, buffer ve SVM, event ile senkronizasyon, barrier, profiling, matris çarpımı ve redüksiyon optimizasyonu, coalesced erişim ve CUDA ile karşılaştırma.

Süre ve Format

2 Gün. Her gün dört modül; OpenCL Platformu ve Temel Programlama ve Optimizasyon ve İleri Konular ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — OpenCL ile heterojen paralel programlama: platform modeli, kernel yazımı, bellek hiyerarşisi ve optimizasyon

Öğrenme Metodu

Her konu çalışan C/C++ host kodu ve OpenCL kernel örnekleriyle uygulanır; performans clGetEventProfilingInfo ile ölçülür.

Neden Bu Eğitim?

🚀Büyük hızlanma

Veri paralel işleri GPU'ya taşıyarak ölçülebilir hızlanma elde edersiniz.

🧠Bellek hiyerarşisi

Local bellek ve coalesced erişimle darboğazları giderirsiniz.

🔀Taşınabilirlik

Aynı kernel'i NVIDIA, AMD, Intel cihazlarında çalıştırırsınız.

Anahtar Konular

openclgpu programlamaopencl eğitimiparalel programlamaheterojen hesaplamaopencl kernelmatris çarpımı gpucuda alternatifihpcgpgpu
“GPU'yu hızlı yapan şey çekirdek sayısı değil, veriyi doğru yerde tutmaktır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
C/C++

Pointer ve dinamik bellek yönetimi bilinmelidir.

2
Paralellik

Thread ve eşzamanlılık temelleri faydalıdır.

3
Donanım

OpenCL destekli bir GPU veya CPU sürücüsü kurulu olmalıdır.

4
Araçlar

CMake veya gcc, clinfo ve bir IDE gerekir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı OpenCL host programını kurar ve ilk kernel'ları çalıştırır.
Modül 1
Platform ve Execution Modeli
  • clGetPlatformIDs ve clGetDeviceIDs
  • Context ve CommandQueue
  • Program ve Kernel nesneleri
  • NDRange, work-item, work-group
  • get_global_id ve get_local_id
  • Hata kodları ve kontrol makroları
Modül 2
OpenCL C Kernel Yazımı
  • __kernel ve adres uzayı niteleyicileri
  • Skaler ve vektör tipleri (float4)
  • Yerleşik fonksiyonlar
  • Çalışma zamanında derleme (clBuildProgram)
  • Build log okuma
  • Kernel argümanları (clSetKernelArg)
Modül 3
Bellek Nesneleri
  • clCreateBuffer bayrakları
  • clEnqueueWriteBuffer ve ReadBuffer
  • Map/Unmap ve pinned bellek
  • SVM (Shared Virtual Memory)
  • Image nesneleri
  • Host-device veri aktarım maliyeti
Modül 4
İlk Uygulamalar
  • Vektör toplama
  • SAXPY
  • Görüntü eşikleme
  • clinfo ile cihaz özellikleri
  • CPU ve GPU cihaz karşılaştırması
  • Doğrulama için CPU referansı
Günün hedefiKatılımcı bellek hiyerarşisini kullanarak kernel'ları optimize eder, event ile asenkron akış kurar ve profiller.
Modül 1
Bellek Hiyerarşisi ve Erişim
  • Global, local, private, constant bellek
  • Coalesced erişim
  • Bank conflict
  • Local memory tiling
  • Padding ve hizalama
  • Register baskısı ve occupancy
Modül 2
Klasik Algoritmalar
  • Matris çarpımı (naive ve tiled)
  • Paralel redüksiyon
  • Prefix sum (scan)
  • Histogram ve atomik işlemler
  • Konvolüsyon
  • Sıralama (bitonic sort)
Modül 3
Senkronizasyon ve Event
  • barrier ve mem_fence
  • clEnqueueNDRangeKernel ve event bekleme
  • Out-of-order queue
  • Çoklu queue ile örtüşme
  • Callback ve clFinish
  • Çoklu cihaz kullanımı
Modül 4
Profiling ve Dağıtım
  • CL_QUEUE_PROFILING_ENABLE
  • clGetEventProfilingInfo
  • Work-group boyutu ayarı
  • Roofline mantığı
  • OpenCL ve CUDA karşılaştırması
  • SYCL ve OpenCL 3.0 notları

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
OpenCL host kodu

Platform, context ve queue kurup kernel çalıştırabilirsiniz.

🧩
Kernel yazımı

OpenCL C ile veri paralel kernel'lar yazabilirsiniz.

⚙️
Bellek yönetimi

Buffer ve SVM nesnelerini doğru yönetebilirsiniz.

🔍
Local bellek

Tiling ile global bellek trafiğini azaltabilirsiniz.

🛠️
Algoritma uygulama

Matris çarpımı ve redüksiyonu GPU'da gerçekleştirebilirsiniz.

📈
Senkronizasyon

Event ve barrier ile doğru senkronizasyon kurabilirsiniz.

🔐
Profiling

Kernel sürelerini ölçüp darboğazları belirleyebilirsiniz.

🚀
Taşınabilirlik

Kodunuzu farklı üretici cihazlarda çalıştırabilirsiniz.

Kimler İçin Uygundur?

  • C/C++ bilen ve hesaplama yoğun uygulamaları GPU'da hızlandırmak isteyen yazılım mühendisleri
  • bilimsel hesaplama
  • görüntü işleme geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C/C++ bilen ve hesaplama yoğun uygulamaları GPU'da hızlandırmak isteyen yazılım mühendisleri, bilimsel hesaplama ve görüntü işleme geliştiricileri için uygundur. Pointer ve dinamik bellek yönetimi bilinmelidir.
NVIDIA GPU zorunlu mu?
Hayır; Intel, AMD veya CPU için OpenCL sürücüsü yeterlidir (ör. PoCL).
CUDA ile farkı anlatılır mı?
Evet, kavram eşleştirmesi ve taşınabilirlik farkları son modülde işlenir.
Hangi dil kullanılır?
Host tarafında C/C++, cihaz tarafında OpenCL C kullanılır.
Python bağlantısı var mı?
PyOpenCL kısaca tanıtılır; ana odak C/C++ host koddur.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. OpenCL ile GPU Programlama Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Geliştirme GenelCommerce Development Eğitimi
Yazılım Geliştirme Eğitimleri

Commerce Development Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Commerce Development eğitimi: ürün kataloğu, promosyon, sepet ve checkout, ödeme entegrasyonu, sipariş yönetimi, arama, headless API ve performans optimizasyonu

Detayları Gör →
Yazılım Geliştirme GenelConferencing Deployment Eğitimi
Yazılım Geliştirme Eğitimleri

Conferencing Deployment Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Conferencing Deployment eğitimi: SIP/H.323, WebRTC, MCU/SFU, dial plan, QoS, NAT geçişi, oda sistemleri ve MOS tabanlı kalite izleme. 2 gün uygulamalı.

Detayları Gör →
Yazılım Geliştirme GenelConfiguring a Developer Machine Eğitimi
Yazılım Geliştirme Eğitimleri

Configuring a Developer Machine Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Configuring a Developer Machine eğitimi: WSL2/Linux/macOS hazırlığı, terminal, Git ve SSH, paket yöneticileri, nvm/pyenv, VS Code, Docker ve dotfiles. 2 gün uyg

Detayları Gör →
Yazılım Geliştirme GenelContent Framework Eğitimi
Yazılım Geliştirme Eğitimleri

Content Framework Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Content Framework eğitimi: içerik modelleme, taksonomi, bileşenler, headless CMS API, çok dilli içerik, iş akışı, CDN önbellek ve içerik geçişi. 2 gün.

Detayları Gör →
Yazılım Geliştirme GenelControllers & Views Eğitimi
Yazılım Geliştirme Eğitimleri

Controllers & Views Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Controllers ve Views eğitimi: ASP.NET Core MVC routing, controller/action, Razor view, model binding, ViewModel doğrulama, layout, partial view ve tag helper. 2

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn