PARALLEL COMPUTING
Semester VII | Course Code: BCS702
Parallel Computing – Introduction: Introduction to parallel programming, Parallel hardware and parallel software – Classifications of parallel computers, SIMD systems, MIMD systems, Interconnection networks, Cache coherence, Shared-memory vs. distributed-memory, Coordinating the processes/threads, Shared-memory, Distributed-memory.
Parallel Computing – GPU & MIMD Performance: GPU programming, Programming hybrid systems, MIMD systems, GPUs, Performance – Speedup and efficiency in MIMD systems, Amdahl’s law, Scalability in MIMD systems, Taking timings of MIMD programs, GPU performance.
Parallel Computing – Distributed Memory with MPI: Distributed memory programming with MPI – MPI functions, The trapezoidal rule in MPI, Dealing with I/O, Collective communication, MPI-derived datatypes, Performance evaluation of MPI programs, A parallel sorting algorithm.
