Information Technology
Hands on Training icon
Hands On Training
Hands on Training icon

High Performance Computing

Course Cover
compare button icon
Course Report - High Performance Computing

Course Report

Find detailed report of this course which helps you make an informed decision on its relevance to your learning needs. Find out the course's popularity among Careervira users and the job roles that would find the course relevant for their upskilling here. You can also find how this course compares against similar courses and much more in the course report.

Course Features

icon

Duration

4 months

icon

Delivery Method

Online

icon

Available on

Limited Access

icon

Accessibility

Desktop, Laptop

icon

Language

English

icon

Subtitles

English

icon

Level

Beginner

icon

Teaching Type

Self Paced

Course Description

This graduate-level course focuses on developing, analyzing, and implementing parallel and locality efficient algorithms. It covers theoretical underpinnings and includes practical exercises on modern HPC systems like Cilk Plus, OpenMP, CUDA, MPI, and PGAS models. The course emphasizes scalability in terms of problem size and system size (number of cores or compute nodes). To achieve scalability, students are taught to reduce asymptotic complexity and minimize communication and data movement. The course covers algorithm design and analysis for multicore/shared memory machines, distributed memory machines, and machines with deep memory hierarchies. Students will apply these techniques to fundamental problems such as sorting, search on trees and graphs, and linear algebra. The practical aspect of the course involves implementing algorithms on real parallel and distributed systems using programming models like Cilk Plus, OpenMP, and MPI. The goal is to bridge the gap between theory and practice by testing the effectiveness of algorithms in real-world scenarios.

Course Overview

projects-img

International Faculty

projects-img

Post Course Interactions

projects-img

Hands-On Training,Instructor-Moderated Discussions

Skills You Will Gain

Prerequisites/Requirements

A "second course" in algorithms and data structures, a la Georgia Techa\x80\x99sCS 3510-B or Udacitya\x80\x99s Intro to AlgorithmsFor the programming assignments, programming experience in a "low-level" "high-level" language like C or C++Experience using

What You Will Learn

Work-Span or Dynamic Multithreading ModelIntro to the basic algorithmic modelIntro to OpenMP, a practical programming modelComparison-based sorting algorithmsScans and linked list algorithmsTree algorithmsGraph algorithms, eg, breadth-first search

Distributed Memory or Network ModelsThe basic algorithmic modelIntro to the Message Passing Interface, a practical programming modelReasoning about the effects of network topologyDense linear algebraSortingSparse graph algorithmsGraph partitioning

Two-Level Memory or I/O ModelsBasic modelsEfficiency metrics, including “emerging” metrics like energy and powerI/O-aware algorithmsCache-oblivious algorithms

Course Instructors

Rich Vuduc

Instructor

Instructor

Catherine Gamboa

Instructor

Instructor
Course Cover