Uses old Rust 2015
|0.0.0||Sep 8, 2018|
#7 in #extinsible
This is the workspace project for
- juice - machine learning frameworks for hackers
- coaster - underlying math abstraction
- greenglas - a data preprocessing framework
- juice-examples - mnist demo
Please consult the individual README.md files for more information.
DISCLAIMER: Currently both CUDA and cuDNN are required for the examples to build.
Compile and call the build.
# install rust, if you need to curl -sSf https://static.rust-lang.org/rustup.sh | sh # download the code git clone email@example.com:spearow/juice.git && cd juice/juice-examples # build the binary cargo build --release # and you should see the CLI help page ../target/release/juice-examples --help # which means, you can run the examples from the juice-examples README
capnproto-libs plus their development packages are the ones needed from your package manager.
Getting the cuda libraries up poses to be the first road-block many users face.
To get things working one needs to set the following environment variables:
# examplary paths, unlikely to work for your local setup! export CUDNN_INCLUDE_DIR=/opt/cuda/include export CUDNN_LIB_DIR=/opt/cuda/targets/x86_64-linux/lib/ export CUBLAS_INCLUDE_DIR=/opt/cuda/include export CUBLAS_LIB_DIR=/opt/cuda/targets/x86_64-linux/lib/
depending on your local installation setup.
The currently supported cuda version is
cuda-11 (details in #114 and #115 )
Note that you need a capable nvidia device in order to run the cuda backend.
You need the apropriate loader and device libraries. Since the
OpenCL backend is still WIP, this will be detailed at a later point of time.
Blas is a linear algebra used by the
blas is required to be present. Choose explicitly via
By default an attempt is made to resolve the library via
# examplary paths, unlikely to work for your local setup! export BLAS_LIB_DIR=/opt/blas/lib64/ export BLAS_INCLUDE_DIR=/opt/blas/include/
is also supported.
Linkage for the blas library variant is determined by setting
1 or unsetting
openblas package doesn't include LAPACK symbols (see FS#66092), so if you try to use it, you'll get multiple
cblas_* unresolved symbols.
openblas with AUR's
openblas-lapack package to fix.