Skip to content

Commit

Permalink
bump version to v0.0.4 (#200)
Browse files Browse the repository at this point in the history
* update installation instructions
  • Loading branch information
joelberkeley authored Feb 27, 2022
1 parent 13aa427 commit f6e2a5b
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 17 deletions.
1 change: 0 additions & 1 deletion .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
on:
pull_request:
branches: master
paths-ignore: 'README.md'

jobs:
test-unit:
Expand Down
32 changes: 17 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# spidr

**Note:** spidr is in early development. Many APIs have no implementation at this time.
**Note:** spidr is in early development. [See here](https://github.com/joelberkeley/spidr/labels/notable%20limitation) for a list of notable limitations.

With spidr, we explore what is possible when we bring the latest developments in programming language theory and hardware acceleration to probabilistic modelling. We hope to help developers find new ways to write and verify robust, performant and practical machine learning utilities, libraries and frameworks; allow machine learning researchers to leverage software design to find new research avenues with tools that are easy to compose, modify and extend; and allow those new to machine learning to learn about common or useful algorithms. To these ends, we aim to make spidr
With spidr, we explore what is possible when we bring some of the latest developments in programming language theory and hardware acceleration to probabilistic modelling. We hope to help developers find new ways to write and verify robust, performant and practical machine learning utilities, libraries and frameworks; allow machine learning researchers to leverage software design to find new research avenues with tools that are easy to compose, modify and extend; and allow those new to machine learning to learn about common or useful algorithms. To these ends, we aim to make spidr

- **robust** by leveraging the dependent and quantitative types and theorem proving offered by [Idris](https://github.com/idris-lang/Idris2), alongside carefully considered testing
- **robust** by leveraging the dependent types and theorem proving offered by [Idris](https://github.com/idris-lang/Idris2)
- **performant** by using [XLA](https://www.tensorflow.org/xla) for efficient graph compilation for the GPU, TPU and other hardware
- **composable** via a purely functional API
- **practical** with lightweight and intuitive APIs
Expand All @@ -22,18 +22,20 @@ I'd like to thank the Idris community for their frequent guidance and Idris itse

## Installation

* Clone or download the spidr source code with the appropriate version tag. For example, for version 0.0.3
```bash
git clone --depth 1 --branch v0.0.3 https://github.com/joelberkeley/spidr.git
```
* Download the pre-built XLA C interface from the [releases page](https://github.com/joelberkeley/spidr/releases) and place it in the project root
* Download an XLA binary from [elixir-nx/xla](https://github.com/elixir-nx/xla/releases), and extract the whole archive into the `backend/` directory of the project root
* [Install Idris 2](https://github.com/idris-lang/Idris2/blob/main/INSTALL.md). We recommend using [Homebrew](https://brew.sh/) if you're unsure which option to use
* In the spidr root directory, install spidr with
```bash
idris2 --install spidr.ipkg
```
You should now be able to import and run spidr
1. Clone or download the spidr source code at tag v0.0.4 with, for example,
```bash
git clone --depth 1 --branch v0.0.4 https://github.com/joelberkeley/spidr.git
```
See the git history for installing earlier versions.
2. [Install Idris 2](https://github.com/idris-lang/Idris2/blob/main/INSTALL.md). We recommend using [Homebrew](https://brew.sh/) if you're unsure which option to use.
3. In the spidr root directory, install with
```bash
idris2 --install spidr.ipkg
```
4. When building your Idris code that depends on spidr, either include `-p spidr` on the command line, or list spidr as a dependency in your project's configuration.
5. Download the XLA C interface from the [releases page](https://github.com/joelberkeley/spidr/releases), and extract the archive. The extracted directory can be placed anywhere you wish.
6. Download an XLA binary from [elixir-nx/xla](https://github.com/elixir-nx/xla/releases), and extract the archive. See the spidr releases page for details of which versions are supported. Place the directory `xla_extension` into the same path as the directory `c_xla_extension` extracted in step 5.
7. When running code that depends on spidr, you may need to set `LD_LIBRARY_PATH` to include the location of the libc_xla_extension.so shared library located in `c_xla_extension` extracted in step 5.

## Contact

Expand Down
2 changes: 1 addition & 1 deletion spidr.ipkg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package spidr
version = 0.0.3
version = 0.0.4

opts = "--total"
sourcedir = "src"
Expand Down

0 comments on commit f6e2a5b

Please sign in to comment.