Introduction to High-Performance and Parallel Computing

  • 3.4
Approx. 18 hours to complete

Course Summary

Learn the basics of High Performance Computing (HPC) and how it can be used to solve complex problems in various fields. This course covers topics such as parallel computing, message passing, and optimization techniques for HPC applications.

Key Learning Points

  • Understand the fundamentals of High Performance Computing
  • Learn how to write and optimize parallel programs using MPI and OpenMP
  • Gain practical experience with HPC by running programs on a supercomputer

Related Topics for further study


Learning Outcomes

  • Develop skills in writing and optimizing parallel programs using MPI and OpenMP
  • Gain practical experience in running programs on a supercomputer
  • Understand how HPC can be used to solve complex problems in various fields

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming in C or Fortran
  • Familiarity with Linux/Unix command line

Course Difficulty Level

Intermediate

Course Format

  • Online self-paced
  • Video lectures
  • Hands-on programming assignments

Similar Courses

  • High Performance Scientific Computing
  • Parallel, Concurrent, and Distributed Programming in Java

Related Education Paths


Related Books

Description

This course introduces the fundamentals of high-performance and parallel computing. It is targeted to scientists, engineers, scholars, really everyone seeking to develop the software skills necessary for work in parallel software environments. These skills include big-data analysis, machine learning, parallel programming, and optimization. We will cover the basics of Linux environments and bash scripting all the way to high throughput computing and parallelizing code.

Outline

  • High-Performance Computing (HPC) for Non-Computer Scientists
  • Course Overview
  • Tour of JupyterLab
  • Submitting Assignments
  • Linux - Part 1
  • Linux - Part 2
  • Accessing Remote Systems
  • Filesystems
  • Bash Scripting, Part 1
  • Bash Scripting - Part 2
  • Course Syllabus
  • Week 1 Quiz
  • Nuts and Bolts of HPC
  • HPC Architecture
  • Software
  • Allocations
  • Node Types
  • Job Submission with Slurm - Part 1
  • Job Submission with Slurm - Part 2
  • Week 2 Quiz
  • Basic Parallelism
  • Simple Application Timing
  • Serial vs. Parallel Processing - Part 1
  • Serial vs. Parallel Processing - Part 2
  • Parallel Memory Models
  • Data vs. Task Parallelism
  • High Throughput Computing
  • Week 3 Quiz
  • Evaluating Parallel Program Performance
  • How to Parallelize Code
  • Speedup and Parallel Efficiency
  • Scalability
  • Limits to Scaling
  • Summary of This Course
  • Week 4 Quiz

Summary of User Reviews

The Introduction to High-Performance Computing course on Coursera has received positive reviews from users. Many found the course to be comprehensive and informative. The overall rating of the course is high, indicating that users have found it to be valuable.

Key Aspect Users Liked About This Course

Comprehensive and informative content

Pros from User Reviews

  • Well-structured and easy to follow
  • Great introduction to HPC concepts
  • Engaging assignments and quizzes
  • Helpful instructor support
  • Useful resources and references

Cons from User Reviews

  • Requires prior knowledge of programming and computer architecture
  • Some users found the course to be too theoretical
  • Assignments can be time-consuming
  • Limited practical application of concepts
  • Not suitable for beginners with no prior knowledge of HPC
English
Available now
Approx. 18 hours to complete
Shelley Knuth , Thomas Hauser
University of Colorado Boulder
Coursera

Instructor

Shelley Knuth

  • 3.4 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses