Plan Szkolenia

Moduł 1: Wprowadzenie do Świata Obliczeń Heterogenicznych i OpenCL

  • 1.1. Ewolucja Architektury Komputerów i Obliczeń Równoległych
  • 1.2. GPU Compute / GPGPU - Historia i Obecny Stan Technologii
  • 1.3. Porównanie Technologii: OpenCL vs CUDA vs SYCL vs Vulkan Compute
  • 1.4. OpenCL jako Standard Otwarty - Historia Standardu i Ewolucja do OpenCL 3.0
  • 1.5. Kluczowe Nowości w OpenCL 3.0 - Architektura Rdzenia i Funkcjonalności Opcjonalne
  • 1.6. Model Platformy OpenCL
  • 1.7. Model Wykonania OpenCL
  • 1.8. Model Pamięci OpenCL

Moduł 2: Konfiguracja Środowiska Programistycznego

  • 2.1. Wymagania Systemowe i Sprzętowe
  • 2.2. Instalacja Środowiska w Systemie Linux
  • 2.3. Instalacja w Innych Systemach (Windows, macOS)
  • 2.4. Kompilacja i Budowanie Programów OpenCL
  • 2.5. Narzędzia Deweloperskie i Diagnostyczne dla OpenCL
  • 2.6. Praktyczne Ćwiczenie: Konfiguracja i Pierwszy Program

Moduł 3: Język OpenCL C

  • 3.1. Podstawy Języka OpenCL C i Jego Ewolucja w OpenCL 3.0
  • 3.2. Typy Danych
  • 3.3. Operatory
  • 3.4. Kwalifikatory i Atrybuty
  • 3.5. Funkcje Wbudowane
  • 3.6. Preprocesor OpenCL
  • 3.7. Najlepsze Praktyki Pisania Wydajnego Kodu OpenCL C

Moduł 4: Podstawowe Programy OpenCL z Pythonem

  • 4.1. Wprowadzenie do PyOpenCL
  • 4.2. Struktura Typowej Aplikacji Host (Python + PyOpenCL)
  • 4.3. Przykład 1: Prosty Kernel (Mnożenie przez Skalar)
  • 4.4. Przykład 2: Dodawanie Wektorów (Vector Addition)
  • 4.5. Przykład 3: Demonstracja Sieci Lokalnej i Globalnej (Work-Groups i Local Memory)
  • 4.6. Debugowanie Podstawowych Błędów w PyOpenCL
  • 4.7. Praktyczne Ćwiczenia z PyOpenCL

Moduł 5: Bardziej Zaawansowane Przykłady Obliczeń

  • 5.1. Debugowanie Kerneli: Użycie printf w OpenCL 3.0
  • 5.2. Operacja Redukcji Równoległej (Parallel Reduction)
  • 5.3. Wyznaczanie Histogramu (Histogram Calculation)
  • 5.4. Zbiór Mandelbrota (Mandelbrot Set)
  • 5.5. Algorytm Sortowania Bitonicznego (Bitonic Sort)
  • 5.6. Przetwarzanie Obrazu (Image Processing) z użyciem Typów Image
  • 5.7. Praktyczne Ćwiczenia - Implementacja Wybranego Algorytm

Moduł 6: Zastosowania Branżowe OpenCL

  • 6.1. OpenCL w Machine Learning i Deep Learning
  • 6.2. OpenCL w Symulacjach Naukowych
  • 6.3. OpenCL w Przetwarzaniu Sygnałów i Obrazów
  • 6.4. OpenCL w Kryptografii i Bezpieczeństwie
  • 6.5. OpenCL w Finansach (High-Performance Computing)
  • 6.6. Case Study: Kompleksowy Projekt Branżowy

 

Moduł 7: OpenCL w Różnych Językach Hosta

  • 7.1. Python i PyOpenCL - Szczegółowe Omówienie
  • 7.2. C++ i OpenCL - Integracja i Najlepsze Praktyki
  • 7.3. Java i JOCL - Możliwości i Ograniczenia
  • 7.4. C# i Obliczenia Heterogeniczne
  • 7.5. Interoperacyjność OpenCL z Innymi Bibliotekami (NumPy, TensorFlow, itp.)
  • 7.6. Praktyczne Porównanie Implementacji w Różnych Językach

Moduł 8: Analiza i Optymalizacja Wydajności w OpenCL

  • 8.1. Metodologia Optymalizacji - Systematyczne Podejście
  • 8.2. Typowe Problemy Wydajnościowe i Ich Rozwiązania
  • 8.3. Profilowanie za pomocą OpenCL API (Events)
  • 8.4. Narzędzia Profilujące Producentów
  • 8.5. Optymalizacja Kerneli (Device Code)
  • 8.6. Optymalizacja Interakcji Host-Device
  • 8.7. Wybór Urządzenia i Skalowanie
  • 8.8. Studium Przypadku: Optymalizacja Realnego Problemu

 

Moduł 9: Zaawansowane Funkcje OpenCL 3.0

  • 9.1. Funkcjonalności Opcjonalne w OpenCL 3.0
  • 9.2. Praca z Obrazami i Teksturami
  • 9.3. Subgroups w OpenCL 3.0
  • 9.4. Pipes w OpenCL
  • 9.5. Interoperacyjność z Grafiką (OpenGL, DirectX)
  • 9.6. Zaawansowane Modele Pamięci (SVM)
  • 9.7. SPIR-V jako Pośredni Format Kodu

Moduł 10: Podsumowanie i Perspektywy

  • 10.1. Kluczowe Koncepcje OpenCL - Przegląd
  • 10.2. Przyszłość OpenCL i Obliczeń Heterogenicznych
  • 10.3. Ekosystem OpenCL - Narzędzia, Biblioteki, Społeczność
  • 10.4. Kiedy Używać OpenCL? - Porównanie z Alternatywnymi Technologiami
  • 10.5. Dalsza Nauka i Zasoby
  • 10.6. Końcowy Projekt i Prezentacje Uczestników
  • 10.7. Sesja Q&A i Dyskusja

 

.

.

Wymagania

  • Znajomość dowolnego języka programowania (strukturalnego lub obiektowego).
 21 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (3)

Propozycje terminów

Powiązane Kategorie