deval deliwala


About

I am a rising master's student at Stanford ICME learning to write elegant but fast numerical code.

Contact

devald [at] stanford [dot] edu


linalg-kernels

a fully-safe, pure-Rust BLAS-like library competitive with optimized native implementations.

LAK working note #1

a safe, idiomatic Rust interface for contiguous BLAS kernels.

LAK working note #2

my level-1 BLAS. preventing code duplication using generics. when autovectorization is enough.

LAK working note #3

writing a safe and generic f32/f64 GEMV that outperforms OpenBLAS ARMv8.

LAK working note #4

a microkernel for TRMV.

GEMM notes

smaller notes documenting progress of GEMM.

GEMM note #1

thinking of a plan for GEMM. contiguous-only matrices makes things easier.

GEMM note #2

two GEMMs walk into a compiler. a difficult deep dive into inlining and compiler behavior.

GEMM benchmarks

relative to OpenBLAS ARMv8, BLIS, and faer.

LAK benchmarks

all benchmarks. relative to Apple Accelerate, OpenBLAS, BLIS, and faer.


vector-functions

learning to write fast scalar and vectorized elementary functions in C

VEX working note #1

purpose of vex. the minimax polynomial and the Remez Algorithm.

VEX working note #2

writing an exponential function with the help of ARM Optimized Routines.

VEX working note #3

writing logf from scratch. reducing cancellation error from 2 million ULPs to 4.