Tutorials#

This section provides structured, video-based learning resources for HPX. The tutorials complement the reference documentation with guided, example-driven explanations of core concepts and advanced features.

Each tutorial introduces the relevant concepts and then applies them step by step through practical code examples. The focus is on demonstrating how to design, implement, and reason about parallel and distributed applications using HPX. While the main documentation emphasizes API descriptions and detailed reference material, the tutorial series adopts a practical, code-oriented approach.

The tutorials are intended for a broad audience: from beginners setting up HPX for the first time to advanced users exploring performance tuning, custom executors, and SIMD vectorization. Together, they form a structured learning path that lowers the entry barrier while progressively introducing more advanced features.

The complete video series is available on YouTube:

HPX Tutorial Playlist

The code is available on Github:

HPX Tutorial Code <https://github.com/STEllAR-GROUP/HPX_Tutorials_Code>

Available Modules#

  • Introduction to |hpx|

    Foundational overview of HPX, including its architecture, design principles, and key capabilities in the context of high-performance computing.

  • Building |hpx| on Windows/Unix

    Step-by-step guidance on installing HPX and setting up the environment based on your operating system.

  • Running |hpx| applications

    Demonstation on how to build and run a simple Hello World example using HPX.

  • Algorithms in |hpx|

    Overview of the parallel algorithms provided by HPX and explanation on how execution policies unlock high-performance C++ computing.

  • Vectorization and SIMD in |hpx|

    Introduction to data-parallel programming, SIMD execution policies, and vectorization techniques relevant to modern C++ and HPC workloads.

  • Futures and Asynchronous Programming

    Explanation of the asynchronous programming model in HPX, including futures, async, and dataflow-based execution patterns.

  • Performance Analysis and Optimization

    Guidance on profiling HPX applications, analyzing performance counters, identifying bottlenecks, and applying optimization strategies.

  • Task Scheduling and Custom Executors

    Detailed discussion of the execution model in HPX, built-in executors, and mechanisms for defining custom execution strategies.

  • Migration Guides

    Best practices and recommendations for transitioning from other HPC frameworks to HPX.

  • HPX in Practice

    Examples of open-source libraries and applications using HPX, illustrating real-world usage patterns and ecosystem integration.