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. We recommend you are familiar with either Fortran 90, C++, or Python to complete some of the programming assignments.
Introduction to High-Performance and Parallel Computing
Instructors: Shelley Knuth
Sponsored by Mojatu Foundation
16,591 already enrolled
(119 reviews)
What you'll learn
Navigate a typical Linux-based HPC environment
Describe the components of a high-performance distributed computing system
Assess the differences between serial and parallel programming
Estimate speedup and efficiency by generating a scaling study
Skills you'll gain
Details to know
Add to your LinkedIn profile
4 assignments
See how employees at top companies are mastering in-demand skills
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
There are 4 modules in this course
Get to know the basics of an HPC system. Users will learn how to work with common high performance computing systems they may encounter in future efforts. This includes navigating filesystems, working with a typical HPC operating system (Linux), and some of the basic concepts of HPC. We will also provide users some key information that is specific to the logistics of this course.
What's included
9 videos3 readings1 assignment2 programming assignments2 discussion prompts
During this week we will actually begin to use HPC infrastructure. Some concepts we will learn are - how to load software appropriately onto an HPC system, what the different types of nodes a user can expect to encounter on a system, and how to submit a job to conduct work, such as perform calculations.
What's included
6 videos1 assignment2 programming assignments
In this module, we will introduce users to the nuances of memory on a high performance computing system. We will also cover some ways to conduct work on a system most efficiently. We will also introduce some beginning components of parallel programming.
What's included
6 videos1 assignment1 programming assignment
In this module, we will continue to review topics related to using a high performance computing system most efficiently, including scaling your workflow measuring how efficient your work on a system is, and how to utilize as much of the computing resource as possible.
What's included
4 videos1 reading1 assignment2 programming assignments
Instructors
Offered by
Why people choose Coursera for their career
Learner reviews
119 reviews
- 5 stars
34.45%
- 4 stars
22.68%
- 3 stars
16.80%
- 2 stars
11.76%
- 1 star
14.28%
Showing 3 of 119
Reviewed on Dec 26, 2023
The course covers the basic expectations mentioned in the course objectives. However, there are minor discrepancies in the assignments and materials that needs to be revised.
Reviewed on Aug 15, 2022
The content is a good start for those who had little programing experience. The assignments drove me creazy. Exploring the discussion forum to see hints for assignments will save you a lot of time.
Reviewed on Jun 8, 2021
A very good and interesting HPC introduction course!
Recommended if you're interested in Computer Science
Princeton University
University of Colorado Boulder
University of Colorado Boulder
Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy