HPX - The C++ Standard Library for Parallelism and Concurrency
HPX - The C++ Standard Library for Parallelism and Concurrency - Published in JOSS (2020)
Science Score: 100.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: springer.com, joss.theoj.org, zenodo.org -
✓Committers with academic emails
65 of 239 committers (27.2%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
c-plus-plus
concurrency
cpp17
cross-platform
distributed
parallelism
Keywords from Contributors
pdes
standardization
turing-machine
genetic-algorithm
energy-system
plasma
benchmarking
hydrology
simulations
pypi
Scientific Fields
Psychology
Social Sciences -
40% confidence
Last synced: 4 months ago
·
JSON representation
·
Repository
The C++ Standard Library for Parallelism and Concurrency
Basic Info
- Host: GitHub
- Owner: STEllAR-GROUP
- License: bsl-1.0
- Language: C++
- Default Branch: master
- Homepage: https://hpx.stellar-group.org
- Size: 389 MB
Statistics
- Stars: 2,710
- Watchers: 124
- Forks: 481
- Open Issues: 167
- Releases: 56
Topics
c-plus-plus
concurrency
cpp17
cross-platform
distributed
parallelism
Created over 13 years ago
· Last pushed 4 months ago
Metadata Files
Readme
Contributing
Funding
License
Code of conduct
Citation
Codeowners
Security
Support
README.rst
..
Copyright (c) 2007-2025 Louisiana State University
SPDX-License-Identifier: BSL-1.0
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|circleci_status| |codacy_quality| |codacy_coverage| |OpenSSF| |CFF| |JOSS| |zenodo_doi|
Documentation: `latest
`_,
`development (master)
`_
|hpx_logo|
------
HPX is a C++ Standard Library for Concurrency and Parallelism. It implements all
of the corresponding facilities as defined by the C++ Standard. Additionally, in
HPX we implement functionalities proposed as part of the ongoing C++
standardization process. We also extend the C++ Standard APIs to the distributed
case.
The goal of HPX is to create a high quality, freely available, open source
implementation of a new programming model for conventional systems, such as
classic Linux based Beowulf clusters or multi-socket highly parallel SMP nodes.
At the same time, we want to have a very modular and well designed runtime
system architecture which would allow us to port our implementation onto new
computer system architectures. We want to use real-world applications to drive
the development of the runtime system, coining out required functionalities and
converging onto a stable API which will provide a smooth migration path for
developers.
The API exposed by HPX is not only modeled after the interfaces defined by the
C++11/14/17/20/23 ISO standard, it also adheres to the programming guidelines used
by the Boost collection of C++ libraries. We aim to improve the scalability of
today's applications and to expose new levels of parallelism which are necessary
to take advantage of the exascale systems of the future.
What's so special about HPX?
============================
* HPX exposes a uniform, standards-oriented API for ease of programming parallel
and distributed applications.
* It enables programmers to write fully asynchronous code using hundreds of
millions of threads.
* HPX provides unified syntax and semantics for local and remote operations.
* HPX makes concurrency manageable with dataflow and future based
synchronization.
* It implements a rich set of runtime services supporting a broad range of use
cases.
* HPX exposes a uniform, flexible, and extendable performance counter framework
which can enable runtime adaptivity
* It is designed to solve problems conventionally considered to be
scaling-impaired.
* HPX has been designed and developed for systems of any scale, from hand-held
devices to very large scale systems.
* It is the first fully functional implementation of the ParalleX execution
model.
* HPX is published under a liberal open-source license and has an open, active,
and thriving developer community.
Governance
==========
The HPX project is a meritocratic, consensus-based community project. Anyone
with an interest in the project can join the community, contribute to the
project design and participate in the decision making process.
`This document `_ describes
how that participation takes place and how to set about earning merit within
the project community.
Documentation
=============
If you plan to use HPX we suggest to start with the latest released version
which can be downloaded `here `_.
To quickly get started with HPX on most Linux distributions you can read the
quick start guide `here
`_.
Detailed instructions on building and installing HPX on various platforms can be
found `here
`_.
The full documentation for the latest release of HPX can always be found `here
`_.
If you would like to work with the cutting edge version of this repository
(``master`` branch) the documentation can be found `here
`_.
We strongly recommend that you follow the current health status of the master
branch by looking at our `continuous integration results website
`_. While we try to keep the
master branch stable and usable, sometimes new bugs trick their way into the
code base. The `CircleCI `_
continuous integration service additionally tracks the current build status for
the master branch: |circleci_status|.
We use `Codacy `_ to assess the code quality of this
project: |codacy_quality|. For our coverage analysis, we also rely on
If you can't find what you are looking for in the documentation or you suspect
you've found a bug in HPX we very much encourage and appreciate any issue
reports through the `issue tracker for this Github project
`_.
If you have any questions feel free to ask it over at `StackOverflow
`_ and tag the question with `hpx
`_.
For a full list of support options please see our `Support page
`_.
If you would like to read more about HPX, we recommend the `book `_
"Parallel C++ -- Efficient and Scalable High-Performance Parallel Programming Using HPX" the code examples are available `here `_.
Code of conduct
===============
We have adopted a `code of conduct
`_
for this project. Please refer to this document if you would like to know more
about the expectations for members of our community, with regard to how they
will behave toward each other.
Please find the project's gpg key, which is used to sign HPX releases
`here
`_.
Citing
======
In publications, please use our paper in The Journal of Open Source
Software as the main citation for HPX: |JOSS|. For referring
to the latest release of HPX please use: |zenodo_doi|.
Acknowledgements
================
We have used a free open-source license of `PVS-Studio, a static analyzer for C++ code
`_
to check our code base.
Past and current funding and support for HPX is listed `here
`_
.. |circleci_status| image:: https://circleci.com/gh/STEllAR-GROUP/hpx/tree/master.svg?style=svg
:target: https://circleci.com/gh/STEllAR-GROUP/hpx/tree/master
:alt: HPX master branch build status
.. |zenodo_doi| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.598202.svg
:target: https://doi.org/10.5281/zenodo.598202
:alt: Latest software release of HPX
.. |codacy_quality| image:: https://app.codacy.com/project/badge/Grade/0b8cd5a874914edaba67ce3bb711e688
:target: https://app.codacy.com/gh/STEllAR-GROUP/hpx/dashboard
:alt: HPX Code Quality Assessment
.. |codacy_coverage| image:: https://app.codacy.com/project/badge/Coverage/0b8cd5a874914edaba67ce3bb711e688
:target: https://app.codacy.com/gh/STEllAR-GROUP/hpx/coverage/dashboard
:alt: HPX coverage report
.. |JOSS| image:: https://joss.theoj.org/papers/022e5917b95517dff20cd3742ab95eca/status.svg
:target: https://joss.theoj.org/papers/022e5917b95517dff20cd3742ab95eca
:alt: JOSS Paper about HPX
.. |CFF| image:: https://github.com/STEllAR-GROUP/hpx/actions/workflows/cff-validator.yml/badge.svg
:target: https://github.com/STEllAR-GROUP/hpx/actions/workflows/cff-validator.yml
:alt: Citations file for HPX
.. |OpenSSF| image:: https://bestpractices.coreinfrastructure.org/projects/6093/badge
:target: https://bestpractices.coreinfrastructure.org/projects/6093
:alt: OpenSSF Best Practices
.. |hpx_logo| image:: http://hpx.stellar-group.org/files/hpx_logo.png
:target: http://hpx.stellar-group.org/
:alt: HPX Logo
Owner
- Name: The STE||AR Group
- Login: STEllAR-GROUP
- Kind: organization
- Email: contact@stellar-group.org
- Location: Worldwide
- Website: https://stellar-group.org/
- Repositories: 102
- Profile: https://github.com/STEllAR-GROUP
JOSS Publication
HPX - The C++ Standard Library for Parallelism and Concurrency
Published
September 02, 2020
Volume 5, Issue 53, Page 2352
Authors
Hartmut Kaiser
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Patrick Diehl
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Adrian S. Lemoine
STE$||$AR Group
STE$||$AR Group
Parsa Amini
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Agustín Berge
STE$||$AR Group
STE$||$AR Group
Steven R. Brandt
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Kevin Huck
Oregon Advanced Computing Institute for Science and Society (OACISS), University of Oregon, OR, Eugene, United States of America
Oregon Advanced Computing Institute for Science and Society (OACISS), University of Oregon, OR, Eugene, United States of America
Alireza Kheirkhahan
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Shahrzad Shirzad
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Bibek Wagle
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Center for Computation \& Technology, Louisiana State University, LA, Baton Rouge, United States of America
Tags
concurrency task-based run time system parallelism distributedCitation (CITATION.cff)
# Copyright (c) 2021 Patrick Diehl # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) # YAML 1.2 # Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/) cff-version: 1.2.0 message: If you use this software, please cite it using these metadata. title: 'STEllAR-GROUP/hpx: HPX V1.11.0: The C++ Standards Library for Parallelism and Concurrency' doi: 10.5281/zenodo.5185328 authors: - given-names: Hartmut family-names: Kaiser - given-names: Mikael family-names: Simberg - given-names: Bryce family-names: Adelstein Lelbach affiliation: NVIDIA - given-names: Thomas family-names: Heller - given-names: Agustin family-names: Berge - given-names: John family-names: Biddiscombe affiliation: CSCS - given-names: Auriane family-names: Reverdell - given-names: Anton family-names: Bikineev affiliation: stellar-group - given-names: Grant family-names: Mercer - given-names: Andreas family-names: Schaefer - given-names: Kevin family-names: Huck affiliation: University of Oregon - given-names: Adrian family-names: Lemoine affiliation: AMD - given-names: Taeguk family-names: Kwon affiliation: '@devsisters' - given-names: Jeroen family-names: Habraken affiliation: Pure Storage - given-names: Matthew family-names: Anderson - given-names: Steven family-names: Brandt name-particle: R. - given-names: Marcin family-names: Copik affiliation: ETH Zuerich - given-names: Srinivas family-names: Yadav - given-names: Martin family-names: Stumpf - given-names: Daniel family-names: Bourgeois - given-names: Akhil family-names: Nair - given-names: Denis family-names: Blank affiliation: Technical University of Munich - given-names: Giannis family-names: Gonidelis - given-names: Rebecca family-names: Stobaugh - given-names: Nikunj family-names: Gupta - given-names: Shoshana family-names: Jakobovits affiliation: CSCS - given-names: Vinay family-names: Amatya - given-names: Lars family-names: Viklund - given-names: Patrick family-names: Diehl affiliation: Center of Computation and Technology, LSU - given-names: Zahra family-names: Khatami affiliation: Louisiana State University version: 1.11.0 date-released: 2025-06-30 repository-code: https://github.com/STEllAR-GROUP/hpx license: BSL-1.0
GitHub Events
Total
- Create event: 142
- Commit comment event: 1
- Issues event: 74
- Watch event: 186
- Delete event: 138
- Issue comment event: 861
- Push event: 457
- Pull request review comment event: 169
- Gollum event: 32
- Pull request review event: 190
- Pull request event: 265
- Fork event: 58
Last Year
- Create event: 142
- Commit comment event: 1
- Issues event: 74
- Watch event: 186
- Delete event: 138
- Issue comment event: 861
- Push event: 458
- Pull request review comment event: 169
- Gollum event: 32
- Pull request review event: 190
- Pull request event: 265
- Fork event: 58
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Hartmut Kaiser | h****r@g****m | 9,354 |
| Bryce Adelstein-Lelbach | b****h@c****u | 2,612 |
| Mikael Simberg | m****g@i****i | 2,243 |
| K-ballo | k@f****m | 1,184 |
| Thomas Heller | t****r@g****m | 1,109 |
| John Biddiscombe | b****o@c****h | 829 |
| Matthew Anderson | m****n@c****u | 688 |
| aurianer | a****r@c****h | 687 |
| Thomas Heller | t****r@c****e | 540 |
| kadimitra | k****a@e****r | 294 |
| isidorostsa | t****s@g****m | 251 |
| Dylan Stark | d****k@c****u | 239 |
| Thomas Heller | h****r@c****u | 219 |
| srinivasyadav18 | s****7@i****m | 196 |
| targetakhil | t****l@g****m | 178 |
| Gregor Daiss | G****t@g****m | 173 |
| AntonBikineev | a****v@g****m | 170 |
| atrantan | a****n@l****u | 166 |
| Shreyas Atre | s****6@g****m | 145 |
| Grant Mercer | G****5@g****m | 144 |
| aserio | a****o@c****u | 137 |
| Andreas Schäfer | g****x@g****e | 127 |
| Taeguk Kwon | x****y@g****m | 124 |
| Chirag Dekate | c****e@c****u | 119 |
| Kevin Huck | k****k@c****u | 117 |
| Hari Hara Naveen S | j****1@r****u | 116 |
| Bhumit Attarde | b****1@g****m | 115 |
| Matt Anderson | a****w@g****m | 93 |
| Daniel Kogler | d****r@c****u | 91 |
| Ajai V George | a****v@g****m | 88 |
| and 209 more... | ||
Committer Domains (Top 20 + Academic)
cct.lsu.edu: 24
lsu.edu: 6
cscs.ch: 4
fau.de: 3
lanl.gov: 3
rostam1.rostam.cct.lsu.edu: 2
ie.ibm.com: 2
gmx.de: 2
ece.auth.gr: 2
iki.fi: 2
andreasbuhr.de: 1
live.fr: 1
illinois.com: 1
tycho.hermione: 1
gmx.com: 1
qubusproject.org: 1
iponweb.net: 1
medusa00.rostam.cct.lsu.edu: 1
stellar-group.org: 1
yandex.ru: 1
0-25-0-44-7d-ef.wlan.lsu.edu: 1
students.iiit.ac.in: 1
cs.uoregon.edu: 1
nmsu.edu: 1
studium.uni-erlangen.de: 1
indiana.edu: 1
dlr.de: 1
theo-physik.uni-kiel.de: 1
ieee.org: 1
rwth-aachen.de: 1
uh.edu: 1
uni-mainz.de: 1
fias.uni-frankfurt.de: 1
m6int02.fsl.byu.edu: 1
bghimi4-2.lsu.edu: 1
uibk.ac.at: 1
login3.stampede.tacc.utexas.edu: 1
jhabraken-1.lsu.edu: 1
pdc.kth.se: 1
phys.lsu.edu: 1
medusa11.rostam.cct.lsu.edu: 1
epfl.ch: 1
lola.informatik.uni-erlangen.de: 1
medusa09.rostam.cct.lsu.edu: 1
c558-204.stampede.tacc.utexas.edu: 1
cutter.crest.iu.edu: 1
ipvs.uni-stuttgart.de: 1
cs.uni-kl.de: 1
i3xf3.informatik.uni-erlangen.de: 1
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 158
- Total pull requests: 674
- Average time to close issues: 4 months
- Average time to close pull requests: 25 days
- Total issue authors: 53
- Total pull request authors: 55
- Average comments per issue: 3.22
- Average comments per pull request: 4.73
- Merged pull requests: 499
- Bot issues: 0
- Bot pull requests: 9
Past Year
- Issues: 56
- Pull requests: 294
- Average time to close issues: 16 days
- Average time to close pull requests: 10 days
- Issue authors: 23
- Pull request authors: 33
- Average comments per issue: 1.13
- Average comments per pull request: 3.85
- Merged pull requests: 186
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- hkaiser (21)
- K-ballo (16)
- JiakunYan (12)
- diehlpk (8)
- Pansysk75 (8)
- yurivict (7)
- kordejong (5)
- G-071 (5)
- jtsylve (4)
- isidorostsa (4)
- andreichalapco (4)
- John98Zakaria (3)
- AndreyKulikov2022 (3)
- msimberg (3)
- m-diers (3)
Pull Request Authors
- hkaiser (280)
- Pansysk75 (47)
- JiakunYan (44)
- dimitraka (41)
- isidorostsa (27)
- Johan511 (20)
- G-071 (19)
- SAtacker (17)
- harith-hacky03 (17)
- akheir (11)
- vrnimje (10)
- dependabot[bot] (9)
- srinivasyadav18 (9)
- charan-003 (9)
- K-ballo (7)
Top Labels
Issue Labels
type: defect (60)
type: compatibility issue (23)
category: algorithms (21)
category: CMake (20)
type: feature request (16)
type: enhancement (12)
project: GSoC (10)
category: parcel transport (9)
tag: pinned (7)
category: core (7)
category: documentation (5)
category: tests (4)
category: init (4)
compiler: gcc (4)
platform: Linux (3)
platform: Mac OSX (3)
type: cleanup (3)
platform: FreeBSD (3)
category: LCOs (3)
difficulty: easy (2)
type: warning (2)
category: threadmanager (2)
tag: wontfix (2)
category: serialization (2)
platform: Windows (2)
compiler: clang (2)
category: mpi (2)
tag: invalid (2)
category: scheduler (2)
category: runtime (1)
Pull Request Labels
type: enhancement (558)
type: compatibility issue (499)
category: algorithms (101)
category: CMake (78)
category: documentation (67)
category: CI (62)
category: parcel transport (52)
category: core (50)
type: cleanup (31)
category: components (25)
category: tests (20)
category: threadmanager (17)
category: init (17)
category: executors (16)
category: data-structures (14)
type: optimization (14)
category: senders/receivers (13)
platform: Mac OSX (12)
category: CircleCi (11)
platform: CUDA (10)
dependencies (9)
category: examples (9)
category: LCOs (9)
project: FLeCSI (8)
compiler: nvcc (8)
tag: invalid (8)
category: scheduler (8)
compiler: gcc (7)
compiler: clang (7)
category: mpi (6)
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 1
conda-forge.org: hpx
HPX is a C++ Standard Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case.
- Homepage: https://github.com/STEllAR-GROUP/hpx
- License: BSL-1.0
-
Latest release: 1.8.1
published about 3 years ago
Rankings
Forks count: 8.0%
Stargazers count: 8.1%
Average: 19.8%
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Last synced:
4 months ago
Dependencies
.github/workflows/cff-validator.yml
actions
- actions/checkout v2 composite
- dieghernan/cff-validator main composite
.github/workflows/linux_bors.yml
actions
- actions/checkout v3 composite
.github/workflows/linux_crosscompile_arm_sve_release.yml
actions
- actions/checkout v3 composite
.github/workflows/linux_debug.yml
actions
- actions/checkout v3 composite
.github/workflows/linux_hip.yml
actions
- actions/checkout v3 composite
.github/workflows/linux_release_fetchcontent.yml
actions
- actions/checkout v3 composite
.github/workflows/linux_sanitizers.yml
actions
- actions/checkout v3 composite
.github/workflows/macos_debug.yml
actions
- actions/checkout v3 composite
.github/workflows/windows_clang_debug.yml
actions
- actions/checkout v3 composite
- jwlawson/actions-setup-cmake v1.9 composite
.github/workflows/windows_clang_release.yml
actions
- actions/checkout v3 composite
- jwlawson/actions-setup-cmake v1.9 composite
.github/workflows/windows_release_static.yml
actions
- actions/checkout v3 composite
- jwlawson/actions-setup-cmake v1.9 composite
tools/docker/Dockerfile
docker
- stellargroup/build_env 13 build
tools/perftests_ci/requirements.txt
pypi
- lxml * test
- matplotlib * test
- numpy * test
- python-dateutil * test
.github/workflows/linux_crosscompile_arm_eve_sve_release.yml
actions
- actions/checkout v4 composite
.github/workflows/linux_release_static.yml
actions
- actions/checkout v4 composite
.github/workflows/windows_debug_vs2019.yml
actions
- actions/checkout v4 composite
- jwlawson/actions-setup-cmake v1.14 composite
.github/workflows/windows_debug_vs2022.yml
actions
- actions/checkout v4 composite
- jwlawson/actions-setup-cmake v1.14 composite
.github/workflows/windows_release_2019.yml
actions
- actions/checkout v4 composite
- jwlawson/actions-setup-cmake v1.14 composite
.github/workflows/windows_release_2022.yml
actions
- actions/checkout v4 composite
- jwlawson/actions-setup-cmake v1.14 composite
.github/workflows/windows_release_gcc_mingw.yml
actions
- actions/checkout v4 composite
- jwlawson/actions-setup-cmake v1.14 composite
hpx.spdx
rubygems