Course

Introduction to High-Performance and Parallel Computing

University of Colorado Boulder

This course, offered by University of Colorado Boulder, provides a comprehensive introduction to high-performance and parallel computing. It is designed for scientists, engineers, and anyone seeking to develop software skills necessary for work in parallel software environments. The course covers a wide range of topics, including big-data analysis, machine learning, parallel programming, and optimization.

Participants will gain a deep understanding of the components of high-performance distributed computing systems, types of parallel programming models, and how to navigate a typical Linux-based HPC environment. They will also learn to assess and analyze application scalability, quantify the processing, data, and cost requirements for computational projects, and estimate speedup and efficiency through scaling studies.

  • Comprehensive introduction to high-performance and parallel computing
  • Fundamentals of parallel programming, high-throughput computing, and Linux-based HPC environments
  • Assessment of application scalability and estimation of speedup and efficiency

Certificate Available ✔

Get Started / More Info
Introduction to High-Performance and Parallel Computing
Course Modules

The course consists of four modules that cover topics such as high-performance computing for non-computer scientists, the nuts and bolts of HPC, basic parallelism, and evaluating parallel program performance.

High-Performance Computing (HPC) for Non-Computer Scientists

This module provides a comprehensive overview of high-performance computing (HPC) for non-computer scientists. Participants will gain practical skills in Linux environments, bash scripting, and accessing remote systems. They will also learn about the components of a high-performance distributed computing system and receive support for academic credit.

Nuts and Bolts of HPC

This module delves into the nuts and bolts of HPC, covering HPC architecture, software, allocations, node types, and job submission using Slurm. Participants will gain practical experience in submitting jobs and understanding the intricacies of HPC architecture and job submission.

Basic Parallelism

Participants will explore basic parallelism in this module, including simple application timing, serial vs. parallel processing, parallel memory models, and high throughput computing. They will gain insights into the differences between serial and parallel processing and understand the concepts of data vs. task parallelism.

Evaluating Parallel Program Performance

This module focuses on evaluating parallel program performance by covering topics such as parallelizing code, speedup, efficiency, scalability, and limits to scaling. Participants will engage in strong and weak scaling studies to quantify the performance of parallel programs.

More Software Development Courses

Real-World Cloud Product Management

Advancing Women in Tech

Real-World Cloud Product Management equips you with the skills and knowledge to excel in cloud computing roles, including preparation for the AWS Certified Cloud...

Create a C# Class Definition to Track Employee Data

Coursera Project Network

Create a C# Class Definition to Track Employee Data

SQL تحسين أداء وضبط أوامر

Coursera Project Network

Learn to optimize SQL commands, improve database performance, and implement various indexing techniques and join strategies in under 2 hours.

Programmatic Prompting with OpenAI: Refining and Filtering

Coursera Project Network

Programmatic Prompting with OpenAI: Refining and Filtering