Ellipse: Something between PyTorch , karpathy/micrograd and XLA. Maintained by nileAGI.
Welcome to the ellipse documentation. This page is for those who are really want to make a change in AI, if it is you, you are welcome.
To get this library in your local machine, you can download it from GitHub. See...
git clone https://github.com/oderoi/ellipse.gitThis library is created in C and it has no frontend yet, so you will use C to use it.
The one thing you will need to import is ellipse.h header.
#include "ellipse.h"In C we don't use import like in Python, we use #include.
Amaizing enough ellipse.h header is the library in itself and it is just a single file. It contain functions to help you perform math operations for machine leaning and automatic differentiation capabilities.
For now ellipse library operations are not lazy but Backpropagation is lazy, meaning it won't do backward pass operations until you realize.
- ellipse has AOT support, so it run very close to hardware to achieve high performance, high speed and it give's you more cotrol.
- ellipse support CPU only for now. But it will support GPUs and TPUs.
| Library | Core Language | Kernel Layer | Assembly/Hardware Layer |
|---|---|---|---|
| PyTorch | Python + C++ | ATen | SIMD/AVX/CUDA/TPU instructions |
| TensorFlow | Python + C++ | XLA Kernels | LLVM-generated assembly, GPU, TPU |
| TinyGrad | Python | Numpy/Custom Ops | CPU SIMD, CUDA for GPU |
| ellipse | C | ellipse | ellipse |
- ellipse stack combines Kernel Layer and Assembly/Hardware Layer to make it more simple to improve, read and improve for anyone interested.
- ellipse Assembly/Hardware Layer only supports CPU for now.