Run it yourself
Every page on this site is built from notebooks you can run on your own CUDA GPU.
Requirements
Install
git clone https://github.com/michel2323/WEANJ
cd WEANJ
make setupmake setup installs the Julia 1.12 channel, instantiates and precompiles the Julia environment in julia/ (Enzyme, Reactant, CUDA), creates the Python environment in python/ (JAX with CUDA 13), and writes _environment.local so Quarto uses that Python. The first run downloads several GB and takes 10–15 minutes.
Check the toolchain
quarto render smoke/This runs a tiny gradient on the GPU with each of the three tools. Open _site/smoke/index.html; all three tabs should show output.
Run the examples
quarto preview # browse the site, edit and re-run notebooks live
quarto render examples/01-particles/enzyme.qmd # re-run one notebook
make run-gpu # re-run everything; refreshes _freeze/ and benchmarks/Rendering a single notebook always executes it. Rendering the whole site uses the frozen outputs in _freeze/, so it does not need a GPU.
Troubleshooting
- JAX prints
CUDA_ERROR_OUT_OF_MEMORY -
Another process is using the GPU. The notebooks disable JAX’s up-front memory reservation, but benchmark numbers are only meaningful on an idle GPU:
make gpu-checklists what is running. - Julia version mismatch
-
The notebooks start Julia with
julia +1.12. Runjuliaup add 1.12.