mirror of
https://github.com/ct-clmsn/nim-hpx/
synced 2026-01-15 13:01:41 +00:00
No description
| hpx | ||
| tests | ||
| .gitignore | ||
| hpx.nimble | ||
| LICENSE | ||
| makefile | ||
| nim-hpx.spdx | ||
| README.md | ||
| run.sh | ||
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