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).
- futures
- local/remote asynchronous function execution
- local/distributed
partitionedSeq
,partitionedTable
- parallel
foreach
,reduce
,transform
,transformReduce
- channels
- collective communications
- SPMD support
- coarrays
- asynchronous remote method invocation on classes (components and component actions)
Please visit the Wiki for more details!
Dependencies:
- pkg-config
- cmake
- hwloc
- papi
- APEX
- tcmalloc
- Boost
- STE||AR HPX
- make sure all dependencies are installed
- update
PKG_CONFIG_PATH
making sure it points tohpx_applications.pc
(usually$(HPX_INSTALL_DIR)/lib/pkgconfig
) - modify the
makefile
provided to compile the test program suite
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.
The directory 'tests/' provides several examples regarding how to utilize this library.
- Boost Version 1.0 (2022-)
20 April 2022
Christopher Taylor
- The STE||AR HPX Group
- The Nim community