kmath/kmath-noa/README.md
2021-07-13 09:37:06 +01:00

45 lines
1.2 KiB
Markdown

# Module kmath-noa
A Bayesian computation library over
[NOA](https://github.com/grinisrit/noa.git)
together with relevant functionality from
[LibTorch](https://pytorch.org/cppdocs).
Our aim is to cover a wide set of applications from particle physics
simulations to deep learning. In fact, we support any
differentiable program written on top of
`AutoGrad` & `ATen`.
## Installation
Currently, we support only
the [GNU](https://gcc.gnu.org/) toolchain for the native artifacts.
For `GPU` kernels, we require a compatible
[CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html)
installation. If you are on Windows, we recommend setting up
everything on [WSL](https://docs.nvidia.com/cuda/wsl-user-guide/index.html).
To install the library, you can simply publish to the local
Maven repository:
```
./gradlew -q :kmath-noa:publishToMavenLocal
```
This will fetch and build the `JNI` wrapper `jnoa`.
In your own application add the local dependency:
```kotlin
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
implementation("space.kscience:kmath-noa:0.3.0-dev-14")
}
```
To load the native library you will need to add to the VM options:
```
-Djava.library.path=${HOME}/.konan/third-party/noa-v0.0.1/cpp-build/kmath
```