https://github.com/juliaipu/iputoolkit.jl
IPU programming in Julia
https://github.com/juliaipu/iputoolkit.jl
graphcore ipu julia
Last synced: 3 months ago
JSON representation
IPU programming in Julia
- Host: GitHub
- URL: https://github.com/juliaipu/iputoolkit.jl
- Owner: JuliaIPU
- License: mit
- Created: 2022-09-29T23:45:40.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-10-04T10:14:02.000Z (8 months ago)
- Last Synced: 2025-10-21T11:49:45.431Z (7 months ago)
- Topics: graphcore, ipu, julia
- Language: Julia
- Homepage: https://juliaipu.github.io/IPUToolkit.jl/
- Size: 6.2 MB
- Stars: 30
- Watchers: 7
- Forks: 3
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IPUToolkit.jl
[](https://juliaipu.github.io/IPUToolkit.jl/stable)
[](https://juliaipu.github.io/IPUToolkit.jl/dev)
[](https://github.com/JuliaIPU/IPUToolkit.jl/actions/workflows/ci.yml)
This package allows you to interface the [Intelligence Processing Unit (IPU) by Graphcore](https://www.graphcore.ai/products/ipu) using the [Julia programming language](https://julialang.org/).
***Disclaimer**: at the moment this is package is in a proof-of-concept stage, not suitable for production usage.*
## Usage and documentation
The package is called `IPUToolkit` because it provides different tools to interface the IPU from Julia:
* you can use functionalities in the [Poplar SDK](https://www.graphcore.ai/products/poplar);
* you can use Julia's code generation capabilities to automatically compile native code that can be run on the IPU;
* there is a small [embedded Domain-Specific Language](https://en.wikipedia.org/wiki/Domain-specific_language) (eDSL) to automatically generate the code of a program.
These approaches are exploratory of the functionalities, and are often limited in scope and are described in more details in the [documentation](https://juliaipu.github.io/IPUToolkit.jl/).
For examples of usage of this package, see the [`examples/`](https://github.com/JuliaIPU/IPUToolkit.jl/tree/main/examples) directory of the official repository.
## Talks and demos
Here is some material that you may find useful for learning more about Julia on the IPU and trying it out yourself:
* [Pluto notebook](https://giordano.github.io/blog/2023-07-20-julia-ipu/) of presentation given at Graphcore and at JuliaCon in July 2023
* Talk "[Julia meets the Intelligence Processing Unit](https://www.youtube.com/watch?v=-fxB0kmcCVE)" at JuliaCon 2023
* Talk "[Automatic differentiation on the IPU with Enzyme.jl](https://giordano.github.io/talks/2024-03-27-julia-ipu-enzymecon/)" at [EnzymeCon 2024](https://enzyme.mit.edu/conference)