Faculty of Engineering - Ain Shams University, Home
High-Performance Computing
What Will Learn?
-
Course Aims
-
Course Goals
- Decent Work and Economic Growth
- Industry, Innovation and Infrastructure
- Sustainable Cities and Communities
Requirements
CSE221
Description
-
English Description
Overview of existing High-Performance Computing (HPC) software and hardware. Basic software design patterns for high performance parallel computing. CUDA for parallel computing on the Graphics Processing Unit (GPU). Message Passing Interface (MPI) parallel programming for distributed memory systems. OpenMP and POSIX threads solution to enable parallelism across multiple CPU cores (shared memory systems). Standard algorithms utilizing parallelism. Matrix and vector operations. Collective communications. The use of GPUs for general purpose computations (GPGPU). Multi-GPU and multi-CPU solutions. Optimizing HPC-based programs. Designing GPU-based systems. Applications. -
Arabic Description
Overview of existing High-Performance Computing (HPC) software and hardware. Basic software design patterns for high performance parallel computing. CUDA for parallel computing on the Graphics Processing Unit (GPU). Message Passing Interface (MPI) parallel programming for distributed memory systems. OpenMP and POSIX threads solution to enable parallelism across multiple CPU cores (shared memory systems). Standard algorithms utilizing parallelism. Matrix and vector operations. Collective communications. The use of GPUs for general purpose computations (GPGPU). Multi-GPU and multi-CPU solutions. Optimizing HPC-based programs. Designing GPU-based systems. Applications.
-
DepartmentComputer and Systems Engineering
-
Credit Hours3
-
GradesTotal ( 100 ) = Midterm (25) + tr.Major Assessment (30 = tr.Industry 0% , tr.Project 20% , tr.Self_learning 5% , tr.Seminar 10% ) + tr.Minor Assessment (5) + Exam Grade (40)
-
HoursLecture Hours: 2, Tutorial Hours: 2, Lab Hours: 0
-
Required SWL125
-
Equivalent ECTS5
- David B. Kirk and Wen-mei W. Hwu, “Programming Massively Parallel Processors: A Hands-on Approach”, Third Edition, Morgan Kaufmann, 2016, ISBN: 0128119861
- NVIDIA, “CUDA C++ Programming Guide”, version 11.7, 2022
- Jason Sanders and Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley, 2010, ISBN: 9780131387683 - David B. Kirk and Wen-mei W. Hwu, “Programming Massively Parallel Processors: A Hands-on Approach”, Third Edition, Morgan Kaufmann, 2016, ISBN: 0128119861 - David B. Kirk and Wen-mei W. Hwu, “Programming Massively Parallel Processors: A Hands-on Approach”, Third Edition, Morgan Kaufmann, 2016.