modin
awesome-tensor-compilers
Our great sponsors
modin | awesome-tensor-compilers | |
---|---|---|
11 | 9 | |
9,476 | 2,171 | |
1.3% | - | |
9.6 | 4.4 | |
4 days ago | 3 months ago | |
Python | ||
Apache License 2.0 | - |
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.
modin
- The Distributed Tensor Algebra Compiler (2022)
-
A Polars exploration into Kedro
The interesting thing about Polars is that it does not try to be a drop-in replacement to pandas, like Dask, cuDF, or Modin, and instead has its own expressive API. Despite being a young project, it quickly got popular thanks to its easy installation process and its “lightning fast” performance.
-
Modern Polars: an extensive side-by-side comparison of Polars and Pandas
Yeah, tried Polars a couple of times: the API seems worse than Pandas to me too. eg the decision only to support autoincrementing integer indexes seems like it would make debugging "hmmm, that answer is wrong, what exactly did I select?" bugs much more annoying. Polars docs write "blazingly fast" all over them but I doubt that is a compelling point for people using single-node dataframe libraries. It isn't for me.
Modin (https://github.com/modin-project/modin) seems more promising at this point, particularly since a migration path for standing Pandas code is highly desirable.
-
Polars: The Next Big Python Data Science Library... written in RUST?
If anyone wants a faster version of pandas it’s not hard to find, modin for example uses multiple cores to speed it up, so if you have 4 cores it’s about 4 times faster than pandas, and has the same API as pandas.
-
Working with more than 10gb csv
Modin should fit. It implements Pandas APIs with e.g. Ray as backend. https://github.com/modin-project/modin
- Modern Python Performance Considerations
-
I made a video about efficient memory use in pandas dataframes!
If you really want speed you should try modin.pandas which makes pandas multi-threaded.
-
Almost no one knows how easily you can optimize your AI models
I am guessing XGB is fairly optimised as it is. If you would want to use the sklearn libraries with pandas, look into Modin
-
TIL about modin.pandas which significantly speeds up pandas if you import modin.pandas instead of pandas.
Source
- How to Speed Up Pandas with 1 Line of Code
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?
polars - Dataframes powered by a multithreaded, vectorized query engine, written in Rust
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
swifter - A package which efficiently applies any function to a pandas dataframe or series in the fastest available manner
alpa - Training and serving large-scale neural networks with auto parallelization.
fugue - A unified interface for distributed computing. Fugue executes SQL, Python, Pandas, and Polars code on Spark, Dask and Ray without any rewrites.
Fable - The project has moved to a separate organization. This project provides redirect for old Fable web site.
mars - Mars is a tensor-based unified framework for large-scale data computation which scales numpy, pandas, scikit-learn and Python functions.
Distributed-Systems-Guide - Distributed Systems Guide
PandasGUI - A GUI for Pandas DataFrames
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
Ray - Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
tvm - Open deep learning compiler stack for cpu, gpu and specialized accelerators