STE||AR Group

HPX: The C++ Standard Library for Parallelism and Concurrency

Technologies
python, opencv, c++, cuda, boost
Topics
parallel algorithms, runtime systems, hpc, distributed datastructures, asynchronous many task systems
HPX: The C++ Standard Library for Parallelism and Concurrency

The STE||AR Group is an international team of researchers who understand that a new approach to parallel computation is needed. Our work is crafted around the idea that we need to invent new ways to more efficiently use the resources that we have and use the knowledge that we gain to help guide the creation of the machines of tomorrow. While we develop several software products, the library which is most heavily developed and core to our team is HPX.

HPX (High Performance ParalleX) is a general purpose C++ runtime system for parallel and distributed applications of any scale. It strives to provide a unified programming model which transparently utilizes the available resources to achieve unprecedented levels of scalability. This library strictly adheres to the C++11 Standard and leverages the Boost C++ Libraries which makes HPX easy to use, highly optimized, and very portable. HPX is developed for conventional architectures including Linux-based systems, Windows, Mac, and the BlueGene/Q, as well as accelerators such as the Xeon Phi.

HPX (High Performance ParalleX) is a general purpose C++ runtime system for parallel and distributed applications of any scale. It strives to provide a unified programming model which transparently utilizes the available resources to achieve unprecedented levels of scalability. This library strictly adheres to the C++11 Standard and leverages the Boost C++ Libraries which makes HPX easy to use, highly optimized, and very portable. HPX is developed for conventional architectures including Linux-based systems, Windows, Mac, and the BlueGene/Q, as well as accelerators such as the Xeon Phi.

If you are looking for a project which incorporates cutting edge HPC research, runtime library development, and C++ standardization check out our ideas page and contact us either though the #ste||ar channel on IRC (Freenode).

2018 Program

Successful Projects

Contributor
gabriel laberge
Mentor
Patrick Diehl, Marcin Copik, Zahra Khatami
Organization
STE||AR Group
Alternative smart executors
HPX allows users to parallel their for-loops. The user can change values of chunk size and prefetching distance with existing execution policies....
Contributor
Evgeny Dedov
Mentor
Andreas Schäfer
Organization
STE||AR Group
Newtonian Physics Sandbox
Developing a tool for modeling Newtonian physics processes based on the LibGeoDecomp library and using HPX for parallel execution. Tool should be...
Contributor
Jakub Golinowski
Mentor
Patrick Diehl, Mikael Simberg
Organization
STE||AR Group
HPX Backend for OpenCV
HPX backend for parallelism in OpenCV developed in this project brings the following benefits while developing HPX-based application using OpenCV: ...
Contributor
Nikunj Gupta
Mentor
Hartmut Kaiser, Thomas Heller
Organization
STE||AR Group
A C++ Runtime Replacement
Turn HPX into a replacement for the C++ runtime. Currently HPX needs to manually "lift" regular functions to HPX threads in order to have all the...