Singapore University of Social Sciences

Introduction to Parallel Computing

Introduction to Parallel Computing (ICT323)

Synopsis

ICT323 introduces parallel computing as cost effective method for the fast solutions of computationally large and data-intensive problems. It covers basic concepts of parallel computing, parallel platforms and communication methods, shared and distributed memory architecture, GPU and CUDA programming, and examples of parallel computing models. Students will learn to leverage hardware architectures and standard tools like OpenMP and MPI to achieve parallelisation and high performance computing. The experiment labs will guide students use tools to simulate parallel programs and acquire hands-on skills.

Level: 3
Credit Units: 5
Presentation Pattern: EVERY JAN

Topics

  • Why Parallel Computing?
  • Applications of Parallel Computing
  • Parallel System Architecture
  • Communication for Parallel Computing
  • Principles of Message-Passing Programming
  • Message Passing Interface (MPI)
  • Multithreading and Shared Memory Programming
  • OpenMP Programming Model
  • GPU architecture and concepts
  • Introduction to CUDA Programming Model
  • Grid Computing and Cloud Computing
  • Parallel Computing with MapReduce

Learning Outcome

  • Describe the concepts and importance of parallel computing
  • Illustrate shared and distributed memory architectures
  • Compare different parallel programming models
  • Differentiate CPU and GPU
  • Practice parallel computing with MPI
  • Experiment OpenMP for parallel computing
Back to top
Back to top