tinygrad
awesome-tensor-compilers
tinygrad | awesome-tensor-compilers | |
---|---|---|
17 | 9 | |
24,018 | 2,180 | |
3.3% | - | |
10.0 | 4.4 | |
6 days ago | 4 months ago | |
Python | ||
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tinygrad
-
AMD Unveils Ryzen 8000G Series Processors: Zen 4 APUs for Desktop with Ryzen AI
Not sure if I completely understand what "Ryzen AI" does, but Tinygrad for example has some limited support for RDNA3[0]. It isn't quite there yet in matters of performance though, as you can read in the comments of that file.
There's also a small tutorial by AMD on how to use the WMMA intrinsic[1] using AMD's hipcc[2] compiler. Documentation is sparse kinda sparse, but the instruction set is not huge. The RDNA3 ISA guide[3] might also be helpful (and only a fraction of the pages are relevant.)
0. https://github.com/tinygrad/tinygrad/blob/master/extra/gemm/...
1. https://gpuopen.com/learn/wmma_on_rdna3/
2. https://github.com/ROCm/HIPCC
3. https://www.amd.com/content/dam/amd/en/documents/radeon-tech...
- Tinygrad 0.8.0 Release
-
Beyond Backpropagation - Higher Order, Forward and Reverse-mode Automatic Differentiation for Tensorken
This post describes how I added automatic differentiation to Tensorken. Tensorken is my attempt to build a fully featured yet easy-to-understand and hackable implementation of a deep learning library in Rust. It takes inspiration from the likes of PyTorch, Tinygrad, and JAX.
-
[D] What is a good way to maintain code readability and code quality while scaling up complexity in libraries like Hugging Face?
what do you think about tinygrad? I think its a good example of growing and well written, (partially) well documented library with many close to reference implementations
-
AMD MI300 Performance – Faster Than H100, but How Much?
The idea of model architecture making fast hardware design easier is what makes https://github.com/tinygrad/tinygrad so interesting.
-
💻 7 Open-Source DevTools That Save Time You Didn't Know to Exist ⌛🚀
🌟 Support on GitHub Website: https://tinygrad.org/
- Tinygrad
-
How to train an Iris dataset classifier with Tinygrad
Before we begin, make sure you have TinyGrad and the required dependencies installed. You can find the installation instructions here.
-
Decomposing Language Models into Understandable Components
Try to get something like tinygrad[1] running locally, that way you can tweak things a bit run it again and see how it performs. While doing this you'll pick up most of the concepts and get a feeling of how things work. Also, take a look at projects like llama.cpp[2], you don't have to fully understand what's going on here, tho.
You may need some intermediate knowledge of linear algebra and this thing called "data science" nowadays, which is pretty much knowing how to mangle data and visualize it.
Try creating a small model on your own, it doesn't have to be super fancy just make sure it does something you want it to do. And then ... you'll probably could go on your own then.
1: https://github.com/tinygrad/tinygrad
2: https://github.com/ggerganov/llama.cpp
- Tinygrad 0.7.0
awesome-tensor-compilers
-
MatX: Faster Chips for LLMs
> So long as Pytorch only practically works with Nvidia GPUs, everything else is little more than a rounding error.
This is changing.
https://github.com/merrymercy/awesome-tensor-compilers
There are more and better projects that can compile an existing PyTorch codebase into a more optimized format for a range of devices. Triton (which is part of PyTorch) TVM and the MLIR based efforts (like torch-MLIR or IREE) are big ones, but there are smaller fish like GGML and Tinygrad, or more narrowly focused projects like Meta's AITemplate (which works on AMD datacenter GPUs).
Hardware is in a strange place now... It feels like everyone but Cerebras and AMD/Intel was squeezed out, but with all the money pouring in, I think this is temporary.
-
Run Llama2-70B in Web Browser with WebGPU Acceleration
I think this is true of AI compilation in general. Torch MLIR, AITemplate and really everything here fly under the radar.
https://github.com/merrymercy/awesome-tensor-compilers#open-...
-
Ask HN: How to get good as a self taught ML engineer?
> I really want to do some great work and help people.
Have you looked into ML compilation?
https://github.com/merrymercy/awesome-tensor-compilers
IMO there is low hanging fruit in the space between high performance ML compilers/runtimes and the actual projects people use. If you practice porting projects you use to these frameworks, that would give you a massive performance edge.
-
Ask HN: What new programming language(s) are you most excited about?
While not all "languages" persay, I am excited about the various ML compilation efforts:
https://github.com/merrymercy/awesome-tensor-compilers
Modern ML training/inference is inefficient, and lacks any portability. These frameworks are how that changes.
-
Research Papers on ML in Compilers
You might be interested in this: https://github.com/merrymercy/awesome-tensor-compilers
-
The Distributed Tensor Algebra Compiler (2022)
* collection of papers in https://github.com/merrymercy/awesome-tensor-compilers
I also have an interest in the community more widely associated with pandas/dataframes-like languages (e.g. modin/dask/ray/polars/ibis) with substrait/calcite/arrow their choice of IR
- A list of compiler projects and papers for tensor computation and deep learning
- A List of Tensor Compilers
-
C-for-Metal: High Performance SIMD Programming on Intel GPUs
Compiling from high-level lang to GPU is a huge problem, and we greatly appreciate efforts to solve it.
If I understand correctly, this (CM) allows for C-style fine-level control over a GPU device as though it were a CPU.
However, it does not appear to address data transit (critical for performance). Compilation and operator fusing to minimize transit is possibly more important. See Graphcore Poplar, Tensorflow XLA, Arrayfire, Pytorch Glow, etc.
Further, this obviously only applies to Intel GPUs, so investing time in utilizing low-level control is possibly a hardware dead-end.
Dream world for programmers is one where data transit and hardware architecture are taken into account without living inside a proprietary DSL Conversely, it is obviously against hardware manufacturers' interests to create this.
Is MLIR / LLVM going to solve this? This list has been interesting to consider:
https://github.com/merrymercy/awesome-tensor-compilers
What are some alternatives?
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
Arraymancer - A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
jax - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
alpa - Training and serving large-scale neural networks with auto parallelization.
llama.cpp - LLM inference in C/C++
Fable - The project has moved to a separate organization. This project provides redirect for old Fable web site.
llama - Inference code for Llama models
Distributed-Systems-Guide - Distributed Systems Guide
openpilot - openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for 250+ supported car makes and models.
tensorflow_macos - TensorFlow for macOS 11.0+ accelerated using Apple's ML Compute framework.
tvm - Open deep learning compiler stack for cpu, gpu and specialized accelerators