Vorlesungsverzeichnis
Suchen Sie hier über ein Suchformular im Vorlesungsverzeichnis der Leuphana.
Veranstaltungen von Ahmed Mohamed Fathy Mohamed Ahme Elbossily
Lehrveranstaltungen
Introduction to GPU Programming (FSL) (Seminar)
Dozent/in: Ahmed Mohamed Fathy Mohamed Ahme Elbossily
Termin:
wöchentlich | Mittwoch | 12:15 - 13:45 | 13.10.2025 - 30.01.2026 | C 14.201 Seminarraum
Inhalt: This course is designed to teach students how to leverage the power of Graphics Processing Units (GPUs) through parallel programming. Traditionally, programs utilize the CPU as the primary unit for execution. In this course, students will learn how to run programs on a GPU and observe the significant difference in processing speed. Initially, GPU cards were used exclusively for video rendering and gaming. However, with the advent of GPU programming, we can now make our programs run faster! C++ programming language will be used for creating GPU programs in this course. The first two modules will provide students with a strong foundation in C++ programming. Then, students will apply their C++ knowledge to work with CUDA and execute programs on a GPU. At the end of each module, there will be a project designed to reinforce the concepts learned by students. To ensure the course's generality, these projects will focus on image-processing tasks, such as image coloring and blurring. After all, who doesn’t enjoy working with images! Module 1: C++ Fundamentals Topics: * Basic syntax: data types, control flow, functions * Containers: `std::vector`, `std::map` * File I/O * Introduction to OpenCV for image load/display Project #1: Build a program for image converter: load a color image, convert to grayscale, save the result. ------------------------------------------------------------------------------------------- Module 2: Memory Management Topics: * Stack vs. heap memory model * Dynamic allocation: `new/delete` and `malloc/free` * Common pitfalls: Memory leaks Project #2: Extend Project #1 into a mini “Image Editor” that applies two operations—grayscale and Gaussian blur—with user-specified parameters. ------------------------------------------------------------------------------------------- Module 3: GPU Programming with CUDA Topics: * CUDA programming model: kernels, threads, blocks, grids * Host vs. device memory; data transfers * Simple reduction operations on GPU Project #3: Port your blurring operation to CUDA. Load the image on the host, copy it to device memory, launch a blur kernel, copy back, and save. Benchmark CPU vs. GPU runtimes. ------------------------------------------------------------------------------------------- Module 4: GPU Hardware & Optimization Topics: * GPU architecture deep dive: SMs, warps * Memory hierarchy: shared and global memory * Coalesced Memory accesses Project #4: Students will revisit the previous projects, applying the knowledge of GPU data communication to further accelerate program speed.
GPU Programming for Business Applications (Seminar)
Dozent/in: Ahmed Mohamed Fathy Mohamed Ahme Elbossily
Termin:
wöchentlich | Dienstag | 09:50 - 12:05 | 13.10.2025 - 30.01.2026 | C 5.111 Seminarraum
Inhalt: Course content: This course introduces Business Informatics students to GPU programming and its applications in business data processing and analytics. While CPUs are the traditional workhorses of computing, many business tasks—such as large-scale data analysis, financial modeling, and real-time simulations—can benefit immensely from the parallel processing power of GPUs. Students will begin with the fundamentals of C++ programming and then transition into GPU programming using CUDA. The course culminates in exploring the architecture of GPUs and how to optimize programs for maximum efficiency. Each module ends with a project focused on real-world business applications, providing students with practical experience that ties directly into their field. Course Modules 1. C++ Fundamentals for Business Applications Students will learn how to write, compile, and execute basic C++ programs, tailored for data-centric tasks. Topics include syntax, variables, control flow, functions, standard containers, memory management, and file I/O. The focus is on processing business-related data efficiently using C++. Project: Build a program that reads structured business data (e.g., customer transactions, sales records), performs statistical computations, and outputs results for reporting. 2. GPU Programming with CUDA This module introduces CUDA and the core principles of GPU programming. Students will learn how to write CUDA kernels, manage memory, and understand the structure of threads and blocks. By transitioning an existing CPU-based program into CUDA, students will directly experience the performance benefits. Project: Implement a GPU-accelerated program that performs heavy data computations (e.g., real-time financial time-series analysis or batch processing of customer data), and compare performance with the CPU version. 3. Advanced GPU Techniques In this module, students will explore key parallel programming techniques that are foundational for high-performance data analysis: Reduction: Used for aggregating data (e.g., total sales, max transaction value). Scan (Prefix Sum): Useful for tasks like cumulative financial calculations or indexing grouped data. Histogram: Ideal for categorizing data distributions (e.g., customer segmentation, sales frequency analysis). Students will learn how to implement these operators using CUDA, understand their parallel execution models, and see how they apply to real-world business datasets. Project: In this project, students will develop a CUDA-accelerated analytics tool that processes a large dataset of business transactions (e.g., sales, customer activity, or stock prices) and computes: Total and maximum transaction values using reduction Daily or weekly cumulative revenue using scan Frequency of sales by category or customer segment using a histogram
Ingenieurmathematik 1 Übung C (Übung)
Dozent/in: Ahmed Mohamed Fathy Mohamed Ahme Elbossily, Zina Kallien
Termin:
14-täglich | Donnerstag | 12:15 - 13:45 | 23.10.2025 - 30.01.2026 | C 14.201 Seminarraum