Schedule Online Admission Counselling Meeting with Us
Apply Now - 2024

High Performance Computing

GANPAT UNIVERSITY

FACULTY OF ENGINEERING AND TECHNOLOGY

Programme

Bachelor of Technology

Branch/Spec.

Computer Science & Engineering (CBA/BDA)

Semester

VI

Version

1.0.0.0

Effective from Academic Year

2022-23

Effective for the batch Admitted in

June 2021

Subject code

2CSE60E25

Subject Name

High Performance Computing

Teaching scheme

Examination scheme (Marks)

(Per week)

Lecture

(DT)

Practical

(Lab.)

Total

CE

SEE

Total

L

TU

P

TW

Credit

3

0

1

0

4

Theory

40

60

100

Hours

3

0

2

0

5

Practical

30

20

50

Pre-requisites:

Students should have knowledge of the following concepts to learn this subject. Operating System, Computer Organization and Architecture, Microprocessor and Architecture, Data structure and algorithms.

Objectives of the Course:

  • Understand High Performance Computing (HPC) system architectures and various computational models.
  • Learn basics of CUDA programming.
  • Apply parallel execution models and methodologies for parallel programming and parallel applications development.
  • Design and implement compute intensive applications on HPC platform.

Theory syllabus

Unit

Content

Hrs

1

Parallel Programming & Computing - Introduction

Era of Computing, Parallel Computing, Multiprocessors and Multicomputer Architectures, Scalar VS Vector Processing, Multivector and Superscalar Machines, Pipelined Processors, SIMD Computers, Conditions of parallelism, Program flow mechanisms, Types of Parallelism – ILP, PLP, LLP, Program Partitioning and scheduling.

8

2

Introduction to High Performance Computing

Era of Computing, Scalable Parallel Computer Architectures, towards low-cost computing, Network of Workstations project by Berkeley, Cluster Computing Architecture, Components, Cluster Middleware and SSI, Need of Resource Management and Scheduling, Programming Environments

7

3

Cluster Computing

Clustering Models, Clustering Architectures, Clustering Architectures key factors, types of clusters, Mission critical Vs Business Critical Applications, Fault Detection and Masking Algorithms, Check pointing, Heartbeats, Watchdog Timers, Fault recovery through Failover and Failback Concepts

8

4

High Speed Networks & Message Passing 

Introduction to High-Speed Networks, Lightweight Messaging Systems, Xpress Transport Protocol, Software RAID and Parallel File systems, Load Balancing Over Networks – Algorithms and Applications, Job Scheduling approaches and Resource Management in Cluster

7

5

CUDA Programming:

Introduction to CUDA architecture for parallel processing, CUDA Parallelism Model, Foundations of Shared Memory, Introduction to CUDA-C, Parallel programming in CUDA-C, Thread Cooperation and Execution Efficiency, Constants memory and events, memory management, CUDA C on multiple GPUs, Hashing and Natural Parallelism, Scheduling and Work Distribution, Atomics, Barriers and Progress, Transactional Memory

10

6

Open CL Programming

Introduction to OpenCL, OpenCL Setup, Basic OpenCL, Advanced OpenCL

3

7

Shared-memory programming

OpenMP: Introduction to OpenMP, Parallel Programming using OpenMP

2

Self-Study:

Case study

  1. NCR Life keeper and Oracle Failsafe
  2. Linux Network Load Balancing
  3. Legion – Object based Meta System
  4. Web Flow - framework for the wide-area distributed computing and meta computing

Practical content

Practicals will be based on topics like MPI, HA cluster, HP cluster, Job Scheduler.

Mooc Courses

  1. Course Name: High Performance Computing

Link: https://nptel.ac.in/courses/106/108/106108055/

  1. Course Name: High Performance Computing Architecture

Link: https://nptel.ac.in/courses/106/105/106105033/

Text Books

1

Rajkumar, High Performance Cluster Computing: Architectures and Systems, Vol. 1 Pearson Education

2

Georg Hager and Gerhard Wellein, Introduction to High Performance Computing for Scientists and Engineers, CRC  Press

Reference Books

1

Kai Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw Hill International Editions

Course Outcomes:

COs

Description

CO1

Understand High Performance Computing (HPC) system architectures and various computational models.

CO2

Learn basics of CUDA programming.

CO3

Apply parallel execution models and methodologies for parallel programming and parallel applications development.

CO4

Design and implement compute intensive applications on HPC platform.

Mapping of CO and PO:

COs

PO1

PO2

PO3

PO4

PO5

PO6

PO7

PO8

PO9

PO10

PO11

PO12

CO1

3

2

3

3

3

2

2

1

2

3

2

3

CO2

2

2

3

2

2

2

3

2

3

2

2

2

CO3

2

3

3

3

2

2

3

2

2

2

2

2

CO4

3

3

2

2

2

3

3

2

3

3

3

3