hpx
Nim wrapper for STE||AR HPX, a high performance computing (HPC), distributed memory runtime system, providing parallelism and asynchronous global address space support.
Summary
| Latest Version | Unknown |
|---|---|
| License | boost |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-24 13:03 |
Tags
Installation
nimble install hpx
choosenim install hpx
git clone https://github.com/ct-clmsn/nim-hpx/
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| hpx | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/ct-clmsn/nim-hpx/ |
|---|---|
| Homepage | https://github.com/ct-clmsn/nim-hpx/ |
| Registry Source | nimble_official |
README
nim-hpx - STE||AR HPX wrapper for Nim
Nim is a system language emphasizing productivity. STE||AR HPX
is a high performance computing (HPC)/supercomputing runtime
system. nim-hpx provides a STE||AR HPX wrapper for Nim.
nim-hpx wraps STE||AR HPX's asynchronous global address space and
parallelism feature set. nim-hpx provides Nim developers tooling to
implement HPC applications targeting single node/multicore systems and
distributed memory systems (multi-node/multicore systems).
Currently Supports
- futures
- local/remote asynchronous function execution
- local/distributed
partitionedSeq,partitionedTable - parallel
foreach,reduce,transform,transformReduce
TODO
- channels
- collective communications
- SPMD support
- coarrays
- asynchronous remote method invocation on classes (components and component actions)
Documentation
Please visit the Wiki for more details!
Installation Requirements
Dependencies:
- pkg-config
- cmake
- hwloc
- papi
- APEX
- tcmalloc
- Boost
- STE||AR HPX
Application compilation
- make sure all dependencies are installed
- update
PKG_CONFIG_PATHmaking sure it points tohpx_applications.pc(usually$(HPX_INSTALL_DIR)/lib/pkgconfig) - modify the
makefileprovided to compile the test program suite
Running Programs
srun -n4 --mpi=pmi2 ./test_initfin
This library is designed to be run on an HPC system that manages jobs using the following workload managers: Slurm, PBS, etc.
Examples
The directory 'tests/' provides several examples regarding how to utilize this library.
Licenses
- Boost Version 1.0 (2022-)
Date
20 April 2022
Author
Christopher Taylor
Special Thanks
- The STE||AR HPX Group
- The Nim community