High Performance Computing in Python course

High Performance Computing

Summary

This specialized course covers HPC fundamentals, performance optimization, and parallel computing for scientific and engineering applications. The curriculum is fully customizable – topics can be added, omitted, or emphasized based on your group’s specific needs and experience level.
From cluster basics and job scheduling to advanced parallelization techniques, we explore different approaches to improve computational performance across different programming languages and environments, with all content tailored to your specific domain and applications.

Target groups

Ideal for programmers, researchers, engineers, and developers with programming experience who want to:

  • Learn HPC cluster usage and parallel computing from the ground up
  • Accelerate computationally intensive applications and resolve existing performance bottlenecks
  • Optimize existing parallel codes for better scalability and efficiency
  • Develop new high-performance solutions for complex computational problems

Flexible Course structure

Content and programming languages (Python, C, or mixed approaches) are customized based on your team’s specific needs and applications. The course combines theoretical foundations with hands-on optimization of real-world code, including participants’ own projects when applicable.

The minimum number of live tutorials is 4 to cover all relevant topics, but the final number will depend on your team’s needs. The tutorials are 90-120min each. Participants should plan to invest at least 30 hours in total.

 

Content

  1. HPC environment fundamentals – cluster architecture, job schedulers (SLURM), batch systems
  2. Performance profiling and bottleneck identification
  3. Single-core optimization
  4. Parallel programming in C with MPI, OpenMP, CUDA 
  5. Parallel programming in Python with Dask, CuPy, Numba or PyCUDA
  6. Memory optimization and efficient data structures
  7. Scalable computing strategies for clusters and HPC systems
  8. Hardware considerations and hybrid CPU/GPU parallelization

FAQ (Frequently Asked Questions

No, this course is language-flexible. While we can cover CPU and GPU parallelization in Python, we’re equally equipped to focus on C/C++ or mixed-language approaches. If your group needs HPC training specific to C, FORTRAN, or any other language, we will adapt the curriculum accordingly. The entire course is tailored to your team’s specific needs and preferred programming environment.

While having access to your own cluster is ideal for applying the concepts directly, it’s not required. Especially if the goal is Python code optimization your Laptop/PC is enough to try out the concepts and see the performance benefits.

Alternatively, we can setup accounts at AWS / Google Cloud where you get limited computation time for free as a new user.

Absolutely! We encourage participants to bring their own code for optimization. The course includes dedicated time for analyzing and improving real-world applications from your team.

Course overview

The High Performance Computing course is not part of the table as it is a specialized course customized for each group's specific needs. It is only available as a group course.

Since 2023 the specialization courses Good Programming Practice in Python and Advanced Plotting in Python are integrated into Python for Scientists and Python for Biologists

Module / Course

Programming projects with AI

Syntax, PEP8, Keyboard Shortcuts, Numpy

Advanced Numpy, File IO, Pandas, AI

Advanced Matplotlib & Interactive Plots

GIT, String Formatting, Video Creation, Code structure

Interpolation, Fitting, Filtering, Data analysis

File Creation, Generators, Parallelization, Sympy

Biopython: DNA sequencing & visualization, BLAST

Scikit Image: Image analysis & processing

✔ meaning the topics are both covered in the lecture and the tutorials
^ meaning participants have access to the lecture materials but we will pick 1 or 2 topics to discuss in the tutorials

On-demand courses

Upcoming Live Courses

Filters Sort results
Reset Apply
Currently, there are no upcoming courses that are open to public booking.

Contact

Are you interested or have any questions about the Python for Scientists & Engineers course? Reach out any time!

+49 156 78448154

Scroll to Top