Ellipse Logo

Ellipse: Something between PyTorch, karpathy/micrograd and XLA. Maintained by nileAGI.


Ellipse Documentation

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.git

This library is created in C and it has no frontend yet, so you will use C to use it.

ellipse Usage

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.

Amazing 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 learning 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 control.
  • ellipse support CPU only for now. But it will support GPUs and TPUs.

nan Stack

LibraryCore LanguageKernel LayerAssembly/Hardware Layer
PyTorchPython + C++ATenSIMD/AVX/CUDA/TPU instructions
TensorFlowPython + C++XLA KernelsLLVM-generated assembly, GPU, TPU
TinyGradPythonNumpy/Custom OpsCPU SIMD, CUDA for GPU
ellipseCellipseellipse
  • 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.