这是一个c++并行库,github地址:hpx
下面是它的基本介绍:
HPX是一个c++并发和并行标准库。它实现了c++标准中定义的所有相应的功能。此外,在HPX中,我们实现了作为正在进行的c++标准化过程的一部分提出的功能。我们还将c++标准api扩展到分布式情况。
HPX的目标是为传统系统(如经典的基于Linux的Beowulf集群或多套接字高度并行的SMP节点)创建一个高质量的、免费可用的、开源的新编程模型实现。同时,我们希望有一个非常模块化和设计良好的运行时系统架构,这将允许我们将我们的实现移植到新的计算机系统架构上。我们希望使用真实的应用程序来驱动运行时系统的开发,创造出所需的功能,并汇聚到一个稳定的API上,这将为开发人员提供一个平滑的迁移路径。
HPX暴露的API不仅是按照c++ 11/14/17/20 ISO标准定义的接口建模的,它还遵循了Boost c++库集合所使用的编程指南。我们的目标是提高当今应用程序的可扩展性,并提供新的并行度水平,这是利用未来百亿亿级系统所必需的。
- HPX为并行和分布式应用程序的编程提供了一个统一的、面向标准的API。
- 它使程序员能够使用数亿个线程编写完全异步的代码。
- HPX为本地和远程操作提供了统一的语法和语义。
- HPX通过数据流和基于未来的同步使并发性易于管理。
- 它实现了一组丰富的运行时服务,支持广泛的用例。
- HPX公开了一个统一的、灵活的、可扩展的性能计数器框架,它可以实现运行时的适应性
- 它被设计用来解决传统上被认为是缩放受损的问题。
- HPX的设计和开发适用于任何规模的系统,从手持设备到非常大规模的系统。
- 它是ParalleX执行模型的第一个全功能实现。
- HPX是在自由开源许可下发布的,拥有一个开放、活跃和繁荣的开发人员社区。
该库编译需要Boost、Asio、hwloc,文档中有说明编译步骤。