Joined October 2023
Yoray Herzberg retweeted
The core operation in most Mixture-of-Experts (MoE) workloads is applying each expert to all of the tokens it gets assigned. The naive way to implement this would be as a series of matrix multiplications: compute the output of expert 1, then expert 2, and so on. For this purpose, most implementations use a specialized *Grouped GEMM* kernel, which fuses all of these multiplications together, computing the outputs of all experts in parallel, with a single launch. We’ve just finished optimizing our own implementation. The resulting kernel is faster than all other implementations we tested, and in some cases has a 15% speedup over the best-performing baseline we found (quack), mostly in small decode shapes. Link to full blog in the comments.
3
6
41
3,268
Check out our new CuTe DSL kernel for fused blockwise Hadamard transform (using FWHT) + quantization!
1
15
2,429
Hashing isn't the first thing that comes to mind when we think GPU kernels, but the same techniques used to optimize GEMMs -- like TMA, or swizzling -- still apply. Excited to share our CUDA implementation of BLAKE3, with an almost 400x speedup over the SoTA!
1
1
8
765
Merkle Trees let a Prover prove the inclusion of some item in a dataset with logarithmic verification time. Moreover, they only require the verifier to have access to a constant amount of bytes! Check out my post implementing them in Go here: vaktibabat.github.io/posts/m…
1
232
In my new post, we use Rust to implement a garbled circuits-based algorithm that solves the millionaires' problem from scratch! This algorithm allows two parties to evaluate a multivariate function privately. Check it out here! vaktibabat.github.io/posts/s… #cryptography #rust
2
255
Ant-colony optimization is a family of optimization algorithms designed to approximate solutions to NP-hard problems. In this post, we implement the Ant System (AS) algorithm in #golang, and use it to approximate solutions to the TSP vaktibabat.github.io/posts/a…
1
150
In my latest post, we implement a Deep-Q Network from scratch (in Rust), and train it for 10,000 games on Blackjack! We then run some interesting experiments on the resulting model, such as comparing it to common Blackjack strategies. Check it out here! vaktibabat.github.io/posts/D…
1
1
83
In my new post, we go through the math behind Generative Adversarial Networks (GANs), and implement them from scratch in Rust! The GIF below shows the GAN training for 30 epochs on writing the digit 7! Check it out here: vaktibabat.github.io/posts/G…
2
1
126