Course Information
Course Code
BCS702
Credits
04
Total Hours
40 hours
Examination
Theory (3 hours)
Sponsored Advertisement
Course Objectives
- Explore the need for parallel programming.
- Explain how to parallelize on MIMD systems .
- To demonstrate how to apply MPI library and parallelize the suitable programs.
- To demonstrate how to apply OpenMP pragma and directives to parallelize the suitable programs.
Course Modules
Parallel Computing Lab(BCS702)
All 9 Experiments.
Unlock the Power of OpenMP : From Scalable Apps and Real-Time Solutions.
Module 1: Introduction to parallel programming
Topics: Classifications of parallel computers, SIMD systems, MIMD systems, Interconnection networks, Cache coherence, Shared-memory vs..
Module 2: GPU programming, Programming hybrid systems:
Topics: Speedup and efficiency in MIMD systems, Amdahl’s law, Scalability in MIMD systems, Taking timings of MIMD programs, GPU performance.
Module 3: Distributed memory programming with MPI – MPI
Topics: functions, The trapezoidal rule in MPI, Dealing with I/O, Collective communication, MPI-derived datatypes..
Module 4: Shared-memory programming with OpenMP
Topics: openmp pragmas and directives, The trapezoidal rule, Scope of variables, The reduction clause, loop carried dependency.
Module 5: GPU programming with CUDA
Topics: GPUs and GPGPU, GPU architectures, Heterogeneous computing, Threads, blocks, and grids Nvidia compute capabilities and device architectures.