Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Project Proposal] HPX #26

Open
rtohid opened this issue Jan 29, 2025 · 2 comments
Open

[Project Proposal] HPX #26

rtohid opened this issue Jan 29, 2025 · 2 comments
Labels
Project Proposal Label for project proposals to HPSF

Comments

@rtohid
Copy link

rtohid commented Jan 29, 2025

1. Name of Project

HPX

2. Project Description

HPX is an open-source, modern asynchronous many-task (AMT) runtime system designed to tackle the scalability and resource utilization challenges of large-scale distributed computing. Built to extend the C++ Standard Library, HPX unifies the syntax and semantics of local and remote operations, enabling developers to write portable, scalable applications with familiar C++ syntax.

HPX leverages C++ futures and coroutines to enable seamless overlap of computation and communication, optimizing system utilization with minimal overhead. Its threading subsystem implements lightweight user-level threads that support rapid context switching, minimizing synchronization delays and enhancing parallel efficiency. With its Active Global Address Space (AGAS), HPX facilitates flexible object migration and load balancing across distributed environments. Its parcel transport layer supports asynchronous communication and integrates with multiple communication interfaces, such as MPI and LCI. Furthermore, HPX offers interoperability with a wide range of accelerators and performance portability libraries, making it versatile for diverse high-performance computing needs. Finally, HPX resiliency APIs provide fault tolerance and error recovery, enhancing the reliability of distributed applications. Together, these features make HPX a powerful, portable tool for developing high-performance, scalable applications.

3. Statement on Alignment with High Performance Software Foundation's Mission

HPX is an open-source, meritocratic, and consensus-driven community project, and part of the Extreme-scale Scientific Software Stack (E4S). HPX is designed to address exascale computing challenges and provides comprehensive APIs for various programming models, making it suitable for a wide range of HPC applications, including AI/ML and scientific computing.

HPX integrates with widely used HPC tools and libraries, acting as a backend or interoperability layer. Its threading system supports performance portability frameworks like Kokkos and FleCSI, along with language and compiler solutions such as OpenMP, Chapel, and Halide. Additionally, HPX includes essential performance measurement, profiling, and analysis tools like APEX and Traveler, supporting the building, maintenance, and optimization of HPC software.

With backend support for libraries such as Blaze (math), BLIS (linear algebra), NWGraph (graph computing), Phylanx (distributed arrays), and DataFrame (statistical analysis), HPX is positioned to serve as the runtime system for the high-performance software ecosystem.

HPX is distributed via E4S and Spack package managers.

4. Project Website (please provide a link)

5. Open Source License (please provide a link)

SPDX Identifier: BSL-1.0
LICENSE.txt

If the project also ships data artifacts, what Open Access licenses are used?

6. Code of Conduct (please provide a link)

Code of Conduct

7. Governance Practices (please provide a link)

Project Governance

8. Two Sponsors from the High Performance Software Foundation's Technical Advisory Committee

Damien Lebrun-Grandie and Sameer Shende

9. What is the project's solution for source control?

GitHub: https://github.com/stellar-group/hpx

10. What is the project's solution for issue tracking?

GitHub Issues: https://github.com/stellar-group/hpx/issues

11. Please list all external dependencies and their license

12. Please describe your release methodology and mechanics

the aim is to produce two releases per year: one in March-April and another in September-October. Details of the release process are documented in the link below:

https://hpx-docs.stellar-group.org/latest/html/contributing/release_procedure.html

13. Please describe Software Quality efforts (CI, security, auditing)

All development happens on feature branches and are presented to the development team as GitHub pull requests. Every pull request must pass the extensive set of contiguous integration steps that (on each commit) compile and run more than 1500 unit and regression tests that verify HPX’s functionalities. Pull requests that add new features are required to also add tests that verify the new functionalities. Pull requests that fix a particular problem are required to include a regression test that verifies the fix.

Every pull request must be reviewed and approved by at least one developer before being merged.

Contiguous integration pipelines are run on several platforms: GitHub actions, CircleCI, and on our own computing resources (using a Jenkins setup). Additionally, each commit triggers static analysis builders like address sanitizer builds, code coverage, Github CodeQL, Github PREfast, Codacy checks, spell checkers, our own inspect tool, clang-format verification, etc.

The CI builders run on a wide array of environments (Windows, Linux, MaxOS), utilizing different compilers and their versions (Clang, gcc, MSVC, nvcc, CUDA-clang, HIP-clang), and on different architectures (x86, ARM, RISC-V).

HPX follows OpenSSF best practices, and our security policy is available at Security Policy.

14. Please list the project's leadership team

15. Please list the project members with access to commit to the mainline of the project

16. Please describe the project's decision-making process

This is described in the Decision Making Process section of the governance model

17. What is the maturity level of your project?

We aim to join at the “Established” level.

18. Please list the project's official communication channels

https://hpx.stellar-group.org/contact/

19. Please list the project's social media accounts

N/A

20. Please describe any existing financial sponsorships

  • Louisiana State University, some of HPX core contributors are full-time employees at LSU's Center for Computation and Technology.
  • NSF Award 2347449

21. Please describe the project's infrastructure needs or requests

  • CI support, particularly for emerging RISC-V architectures
  • Broadening community engagement, publishing and promoting content, organizing workshops, hackathons, and tutorials
@rtohid rtohid added the Project Proposal Label for project proposals to HPSF label Jan 29, 2025
@slandath
Copy link
Contributor

slandath commented Feb 6, 2025

@rtohid Scheduled for the 2/20/2025 TAC meeting

@hkaiser
Copy link

hkaiser commented Feb 20, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Project Proposal Label for project proposals to HPSF
Projects
None yet
Development

No branches or pull requests

3 participants