{"id":13503045,"url":"https://github.com/fff-rs/juice","last_synced_at":"2026-03-16T22:37:07.301Z","repository":{"id":16685812,"uuid":"78967634","full_name":"fff-rs/juice","owner":"fff-rs","description":"The Hacker's Machine Learning Engine","archived":false,"fork":false,"pushed_at":"2024-07-22T18:07:55.000Z","size":39009,"stargazers_count":1109,"open_issues_count":44,"forks_count":76,"subscribers_count":35,"default_branch":"master","last_synced_at":"2024-10-29T15:35:07.975Z","etag":null,"topics":["agnostic","coaster","cuda","extinsible","framework","hacktoberfest","juice","machine-learning","opencl","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fff-rs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"drahnr","patreon":"drahnr","liberapay":"drahnr","open_collective":"bernhard-schuster"}},"created_at":"2017-01-14T21:27:49.000Z","updated_at":"2024-10-16T09:12:27.000Z","dependencies_parsed_at":"2024-01-14T00:54:06.879Z","dependency_job_id":"136999ff-a05f-4d20-9401-b9a1bd2d8120","html_url":"https://github.com/fff-rs/juice","commit_stats":{"total_commits":1195,"total_committers":47,"mean_commits":"25.425531914893618","dds":0.6820083682008369,"last_synced_commit":"09253d3d89b4f9cd6b221e5a2c268df5036187eb"},"previous_names":["fff-rs/juice","spearow/juice"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fff-rs%2Fjuice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fff-rs%2Fjuice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fff-rs%2Fjuice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fff-rs%2Fjuice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fff-rs","download_url":"https://codeload.github.com/fff-rs/juice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217174,"owners_count":20903008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agnostic","coaster","cuda","extinsible","framework","hacktoberfest","juice","machine-learning","opencl","rust"],"created_at":"2024-07-31T22:02:34.770Z","updated_at":"2026-03-16T22:37:07.262Z","avatar_url":"https://github.com/fff-rs.png","language":"Rust","funding_links":["https://github.com/sponsors/drahnr","https://patreon.com/drahnr","https://liberapay.com/drahnr","https://opencollective.com/bernhard-schuster"],"categories":["Rust","Frameworks"],"sub_categories":[],"readme":"# Juice\n\nThis is the workspace project for\n\n* [juice](https://github.com/spearow/juice/blob/master/juice/README.md) - machine learning frameworks for hackers\n* [coaster](https://github.com/spearow/juice/blob/master/coaster/README.md) - underlying math abstraction\n* [coaster-nn](https://github.com/spearow/juice/blob/master/coaster-nn/README.md)\n* [coaster-blas](https://github.com/spearow/juice/blob/master/coaster-blas/README.md)\n* [greenglas](https://github.com/spearow/juice/blob/master/greenglas/README.md) - a data preprocessing framework\n* [juice-examples](https://github.com/spearow/juice/blob/master/juice-examples/README.md) - mnist demo\n\n Please consult the individual README.md files for more information.\n\n## [Juice](https://github.com/spearow/juice) Examples\n\nCLI for running [juice](https://github.com/spearow/juice) examples. More examples and benchmark tests can be found at the [juice examples directory](https://github.com/spearow/juice#examples).\n\n### Install CLI\n\n**DISCLAIMER: Currently both CUDA and cuDNN are required for the examples to build.**\n\nCompile and call the build.\n\n```bash\n# install rust, if you need to\ncurl -sSf https://static.rust-lang.org/rustup.sh | sh\n# download the code\ngit clone git@github.com:spearow/juice.git \u0026\u0026 cd juice/juice-examples\n# build the binary\ncargo build --release\n# and you should see the CLI help page\n../target/release/juice-examples --help\n# which means, you can run the examples from the juice-examples README\n```\n\n\n### Dependencies\n\n#### Cap'n'Proto\n\n[capnproto is a data interchange format](https://capnproto.org/) that is used to store and load networks with weights for [Juice](https://github.com/spearow/juice/juice).\n\n`capnproto` and `capnproto-libs` plus their development packages are the ones needed from your package manager.\n\n#### Cuda\n\nGetting the cuda libraries up poses to be the first road-block many users face.\n\nTo get things working one needs to set the following environment variables:\n\n```zsh\n# examplary paths, unlikely to work for your local setup!\nexport CUDNN_INCLUDE_DIR=/opt/cuda/include\nexport CUDNN_LIB_DIR=/opt/cuda/targets/x86_64-linux/lib/\nexport CUBLAS_INCLUDE_DIR=/opt/cuda/include\nexport CUBLAS_LIB_DIR=/opt/cuda/targets/x86_64-linux/lib/\n```\n\ndepending on __your local__ installation setup.\n\nThe currently supported cuda version is `cuda-11` (details in #114 and #115 )\n\nNote that you need a capable nvidia device in order to _run_ the cuda backend.\n\n#### OpenCL\n\nYou need the apropriate loader and device libraries. Since the `OpenCL` backend is still WIP, this will be detailed at a later point of time.\n\n#### BLAS\n\nBlas is a linear algebra used by the `native` backend.\n\n`openblas` or `blas` is required to be present. Choose explicitly via `BLAS_VARIANT`.\n\nBy default an attempt is made to resolve the library via `pkg-config`.\n\nOverriding via\n\n```zsh\n# examplary paths, unlikely to work for your local setup!\nexport BLAS_LIB_DIR=/opt/blas/lib64/\nexport BLAS_INCLUDE_DIR=/opt/blas/include/\n```\n\nis also supported.\n\nLinkage for the blas library variant is determined by setting `BLAS_STATIC` to `1` or unsetting `BLAS_STATIC`.\n\n##### ArchLinux users\n\nArchLinux `openblas` package doesn't include LAPACK symbols (see [FS#66092](https://bugs.archlinux.org/task/66092)), so if you try to use it, you'll get multiple `cblas_*` unresolved symbols.\n\nReplace `openblas` with AUR's `openblas-lapack` package to fix.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffff-rs%2Fjuice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffff-rs%2Fjuice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffff-rs%2Fjuice/lists"}