Abstract

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

Highlights

  • HPX is a C++ Library for concurrency and parallelism that is developed by The STE||AR Group, an international group of collaborators working in the field of distributed and parallel programming (Heller, Diehl, Byerly, Biddiscombe, & Kaiser, 2017; Kaiser et al, n.d.; Tabbal, Anderson, Brodowicz, Kaiser, & Sterling, 2011)

  • It is a runtime system written using modern C++ techniques that are linked as part of an application

  • HPX exposes extended services and functionalities supporting the implementation of parallel, concurrent, and distributed capabilities for applications in any domain; it has been used in scientific computing, gaming, finances, data mining, and other fields

Read more

Summary

Summary

The new challenges presented by exascale system architectures have resulted in difficulty achieving the desired scalability using traditional distributed-memory runtimes. The HPX AMT runtime system attempts to solve some problems the community is facing when it comes to creating scalable parallel applications that expose excellent parallel efficiency and a high resource utilization It exposes a C++ standards conforming API that unifies syntax and semantics for local and remote operations. The provided API (especially when used in conjunction with the new C++20 co_await keyword (Standard ISO/IEC, 2020)) enables intrinsic overlap of computation and communication, prefers moving work to data over moving data to work, and exposes minimal overheads from its lightweight threading subsystem, ensuring efficient fine-grained parallelization and minimal-overhead synchronization and context switching This programming model natively ensures high-system utilization and perfect scalability. HPX implements functionalities proposed as part of the ongoing C++ standardization process

OS Operating System
Example code
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call