National University of Sciences and Technology
Home | Back
CSE-811 Parallel Computing for Heterogeneous Platforms
Campus RCMS
Programs PG
Session Spring Semester 2017
Course Title Parallel Computing for Heterogeneous Platforms
Course Code CSE-811
Credit Hours 3-0
Pre-Requisutes CSE-882- Computing for CSE
Course Objectives After completing this course, the students would be able to program cluster of multicore systems and GPUs using various parallel programming models. Moreover, they would be able to apply parallel computing techniques to accelerate computationally intensive problems, involving matrix-vector computations, string matching and graph algorithms on emerging HPC platforms.
Detail Content
  • Introduction to Parallel Computer Architecture
  • Parallel Programming Models
  • Programming Cluster of Multicore processors using Hybrid MPI/OpenMP approach
  • Handling Synchronization in MPI/OpenMP programs
  • Introduction to GPU Computing, Architecture and Programming Models
  • CUDA C and Kernel based Programming
  • Memory Model for locality, parallel convolution pattern
  • Performance Considerations with programming assignment of simple matrix-matrix multiplication in CUDA C
  • Data transfer and task parallelism in CUDA C
  • OpenCL and C++AMP
  • Introduction to OpenACC, with programming assignment of vector addition using streams in CUDA C
  • Parallel Algorithms for solving linear system of equations
  • Parallel Algorithms for Graph processing & String matching problem
Text/Ref Books
  • Jason Sanders, Edward Kandrot , CUDA by Example.
  • David B. Kirk, Wen-mei W. Hwu, Programming Massively Parallel Processors- A Hands-On Approach
  • Jung W. Suh, Yongmin Kim, Accelerating MATLAB with GPU Computing- A Primer with Examples
Time Schedule Spring Semester 2017
Faculty/Resource Person Mr. Tariq Saeed
MS (National University of Science and Technology (NUST)
Discipline: Information Security
Specialization: High Performance Computing, Model Checking