High Performance Computing for Scientists and Engineers
Offered By: Indian Institute of Technology, Kharagpur via Swayam
Course Description
Overview
Large-scale simulations of engineering and basic science problems require efficient use of modern high performance computing (HPC) infrastructure. This course is primarily aimed to introduce the concepts of high performance computing (HPC) to science and engineering students. Different parallel computing tools like MPI, OpenMP and CUDA will be discussed in connection with domain specific problems. This course will briefly introduce parallel architecture and discuss the performance metrics of HPC programs. Multi-CPU computing using both distributed and shared memory architecture will be discussed and OpenMP and MPI based parallelization of iterative matrix solvers will be discussed. Graphics processing unit (GPU) architecture and concepts of CUDA will be discussed. Matrix calculations using CUDA will be demonstrated.
INTENDED AUDIENCE : Basic science, Mathematics, EngineeringPREREQUISITES :Backgrounds in numerical methods and basic programming will be of helpINDUSTRIES SUPPORT :Not Applicable
INTENDED AUDIENCE : Basic science, Mathematics, EngineeringPREREQUISITES :Backgrounds in numerical methods and basic programming will be of helpINDUSTRIES SUPPORT :Not Applicable
Syllabus
COURSE LAYOUT
Week 1:Introduction to high performance computing (1) , Architectures for parallel computing- Flynn;s Taxonomy (2), Shared and distributed memory (1), Examples of parallel algorithms (1Week 2:Performance metrics- speed up, scalability (2) Communication overheads and latency (1) Introduction to OpenMP (2)Week 3:OpenMP parallelization of Matrix algebra algorithms (2) Demonstration of OpenMP codes (1) Introduction to MPI (2)Week 4:Communications using MPI (1) Domain decomposition and Schwarz algorithm, Load balancing (4)Week 5:Jacobi solver – serial and parallel implementation (3) Code demonstration and performance evaluation (2) Week 6:Architectures of GPU, GPU Memories (3) Introduction to CUDA (2)Week 7:Thread algebra for matrix calculations (3) Examples of CUDA kernels (2)Week 8:Matrix algebra using CUDA (2) Performance optimization (2) Code demonstration (1)
Taught by
Prof. Somnath Roy
Tags
Related Courses
Algebra & AlgorithmsMoscow Institute of Physics and Technology via Coursera Amazon Simple Storage Service (Amazon S3) Performance Optimization (Portuguese)
Amazon Web Services via AWS Skill Builder Computer Architecture: Parallel Computing
Codecademy LAFF-On Programming for High Performance
The University of Texas at Austin via edX Creating Robust Workflows in Python
DataCamp