Informationen zur Technologie

Python ist eine universelle, höhere Programmiersprache, die gut lesbar ist. Sie unterstützt mehrere Programmierparadigmen, wie die objektorientierte, die funktionale und die aspekt-orientierte Programmierung und bietet eine dynamische Typisierung. Sie wird oft als Skriptsprache eingesetzt.


Python 3.x - Accelerated Computing mit GPU, CUDA, ROCm - Schulung (4 Tage)

Kurzbeschreibung

In diesem Python-Seminar erhalten Programmierer einen Leitfaden für den Einstieg in das GPU-Computing. Es beginnt mit der Einführung des GPU-Computing und erläutert die Architektur und Programmiermodelle für GPUs. Die Teilnehmer lernen anhand eines Projektes, wie sie die GPU-Programmierung mit Python realisieren und dabei Frameworks wie PyCUDA, PyOpenCL für Aufgaben wie maschinelles Lernen und Data Mining einsetzen können. Die behandelten Themen umfassen u.a. den Entwurf einer GPU-Strategie, die Einrichtung einer Plattform, die Basics der GPIU-Programmierung, das Arbeiten mit Anaconda, CuPy und Numba.


Voraussetzungen

• keine


    Seminarinhalt

    Einführung in GPU (General Purpose Computation)-Computing
    • Die Bedeutung und Funktionalität von GPU
    • RISC, dedizierter RAM, multipiplined multisymetrische Architekturen
    • Die Entstehung des vollwertigen GPU-Computing
    • Die Einfachheit des Python Codes und die Leistung der GPUs
    • Das Stärken der GPU Wissenschaft und KI in der heutigen Zeit
    • Der CUDA-Ansatz

    Entwurf einer GPU Computing Strategie
    • Erste Schritte mit der Hardware
    • Erstellung eines ersten GPU-fähigen Parallelcomputers - Mindestsystemanforderungen
    • Überlegungen zur Flüssigkeitskühlung
    • Marken-GPU-fähige PCs
    • "Do it Yourself", Warum nicht? (DIY)
    • Einstiegsklasse vs. Mittelklasse vs. High-End-Klasse

    Einrichtung einer GPU Computing Plattform mit NVIDIA / AMD
    • GPU Hersteller
    • Computing auf NVIDIA-GPUs
    • Computing auf AMD APUs und GPUs
    • Ein Leitfaden für Enthusiasten zur GPU-Computerhardware

    Grundlagen der GPU-Programmierung
    • Grundlagen der GPU-Programmierung
    • GPU-programmierbare Plattformen
    • Grundlegende CUDA-Konzepte
    • Grundlegende ROCm-Konzepte
    • Die Anaconda Python Distribution für die Paketverwaltung und -bereitstellung
    • GPU-fähige Python-Programmierung

    Einrichtung einer Umgebung für die GPU-Programmierung
    • Einrichtung einer Umgebung für die GPU-Programmierung
    • Auswahl einer geeigneten IDE für Ihren Python-Code
    • Installation von Jupyter Notebook und Jupyter Lab

    Arbeiten mit CUDA und PyCUDA
    • Einführung von CUDA und PyCUDA
    • Technische Anforderungen
    • Funktionalität von CUDA- und C ++ -Bindung
    • Installation von PyCUDA in einer CUDA-Umgebung
    • Konfiguration von PyCUDA auf Ihrer Python-IDE
    • Das Rechnen in PyCUDA
    • Vergleich von PyCUDA mit CUDA
    • Schreiben der ersten PyCUDA-Programme
    • Computergestützte Problemlösung

    Arbeiten mit ROCm und PyOpenCL
    • Einführung von ROCm und PyOpenCL
    • Technische Anforderungen
    • Funktionsweise von ROCm C / C ++ mit Hipify, HIP und OpenCL
    • Installation von PyOpenCL für Python (AMD und NVIDIA)
    • Konfiguration von PyOpenCL auf Ihrer Python-IDE
    • Funktionsweise des Rechnens in PyOpenCL unter Python
    • Vergleich von PyOpenCL mit HIP und OpenCL
    • Schreiben der ersten PyOpenCL-Programme

    Arbeiten mit Anaconda, CuPy und Numba für GPUs
    • Anaconda
    • Arbeitsweise von Anaconda mit CuPy und Numba
    • Installation von CuPy und Numba für Python in der Anaconda-Umgebung
    • Funktionsweise des Rechnens in CuPy unter Python
    • Funktionsweise des Rechnens in Numba unter Python
    • Schreiben der ersten CuPy- und Numba-fähigen beschleunigten Programme
    • Interoperabilität zwischen CuPy und Numba

    Vergleich aller Technologien
    • Vergleich von CuPy mit NumPy und CUDA
    • Vergleich von Numba mit NumPy, ROCm und CUDA

    Containerisierung auf GPU-fähigen Plattformen
    • Der Nutzen der Containerisierung auf GPU-fähigen Plattformen
    • Programmierbare Umgebungen
    • Systemweite (offene) Umgebungen
    • Virtuelle (geschlossene) Umgebungen
    • Virtualisierung
    • Lokale Container
    • Cloud Container

    Beschleunigtes maschinelles Lernen auf GPUs
    • Maschinelles Lernen für beschleunigtes Computing
    • Die Bedeutung von Python in der KI
    • Erkundung von Schulungsmodulen für maschinelles Lernen
    • Einführung von Frameworks für maschinelles Lernen TensorFlow & PyTorch
    • Installation von TensorFlow und PyTorch für GPUs
    • Konfiguration der Google Colab-Unterstützung
    • Maschinelles Lernen mit TensorFlow und PyTorch
    • Schreiben der ersten GPU-beschleunigten maschinellen Lernprogramme

    GPU-Beschleunigung mit DeepChem
    • GPU-Beschleunigung für wissenschaftliche Anwendungen mit DeepChem
    • Entschlüsselung wissenschaftlicher Konzepte für DeepChem
    • Mehrere Möglichkeiten zur Installation von DeepChem
    • Test eines Beispiels aus dem DeepChem-Repository


    Zielgruppen

    • Python- und C++-Programmierer


    Preise und Termine

    offene Schulung
    Eine offene Schulung findet in einem unserer Schulungszentren statt.
    Dauer:4 Tage
    Preis:1.690,00 € zzgl. USt. pro Teilnehmer (2.011,10€ inkl. USt.)
    Seminarstandorte:
    Starttermine:
    (ortsabhängig)


    Unterlagen:zzgl.
    Verpflegung:zzgl.
    Prüfung/Zertifizierung:zzgl.
    Firmenschulung
    Eine Firmenschlung kann sowohl bei Ihnen vor Ort als auch in einem unserer Schulungszentren stattfinden.
    Dauer:4 Tage
    Preis ab:1.350,00 € zzgl. USt. pro Tag (1.606,50€ inkl. USt.)
    Schulungszentren:
    • Hamburg
    • Berlin
    • Frankfurt
    • München
    • Nürnberg
    • Düsseldorf
    • Wien
    Starttermin:individuelle Vereinbarung
    Unterlagen:zzgl.
    Verpflegung:zzgl.
    Prüfung/Zertifizierung:zzgl.

    Software

    python3, pip, pyenv, atom, vscode,



    Seminarsprache

    die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.