Bulk
mpi4jax
Bulk | mpi4jax | |
---|---|---|
1 | 1 | |
92 | 371 | |
- | 3.2% | |
0.0 | 6.7 | |
about 1 year ago | 24 days ago | |
C++ | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Bulk
-
Making a C++ library from source code in Windows
I am trying to use a library for C++ that is not installed already (Bulk). I have done something like this one time before, but for that library there were .lib and .dll's I could download and add to the project. For this library these files are only provided for Linux and not for Windows. I have the source code, so it should be possible to make these files myself, but I cannot figure out how.
mpi4jax
-
[D] Jax (or other libraries) when not using GPUs/TPUs but CPUs.
I've seen a couple of posts of folks using JAX for scientific computing (e.g. physics) workloads without much issue. The parallel primitives work just as well across multiple CPUs as they do on accelerators. If you're on a cluster, also worth looking into https://github.com/PhilipVinc/mpi4jax.
What are some alternatives?
kokkos - Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
horovod - Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.
kmer-signatures - High-performance kmer-signatures
extending-jax - Extending JAX with custom C++ and CUDA code
mpl - A C++17 message passing library based on MPI
Dask - Parallel computing with task scheduling
mfem - Lightweight, general, scalable C++ library for finite element methods
devito - DSL and compiler framework for automated finite-differences and stencil computation
Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System
einops - Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)
Kratos - Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
pyhpc-benchmarks - A suite of benchmarks for CPU and GPU performance of the most popular high-performance libraries for Python :rocket: