Intrepydd: Performance, Productivity, and Portability for Data Science Application Kernels
summary
Intrepydd is a Python-like kernel language that compiles AOT to C++ (ahead-of-time C++ codegen) and requires type-declared functions and array types (dense and sparse) so the compiler can do AST-level optimizations like loop-invariant motion, dense operator fusion, sparse-zero elimination and memory recycling. Benchmarks show a harmonic-mean single-core speedup of 20.07x over CPython, up to 88.5x speedup on sinkhorn-wmd versus Julia, modest 1.5x on library-dominated ISTA, and prototype codegen for Ray+CuPy yields about two orders of magnitude on GPUs.
AI-written summary · about
chapters (9)
- 0:00Intro
- 0:15Disruption in Computing Stack is under way at both ends
- 1:06Programming Systems for Data Science Applications: Current Approaches
- 4:17Language Definition Summary
- 5:21Sinkhorn WMD Kernel in Python, Intrepydd, and Julia Python
- 8:15Intrepydd Single Core Performance
- 9:20Comparison against Julia
- 14:14Late-breaking News: Intrepydd extensions for Distributed Heterogeneous Computing
- 15:21Parallelization of STAP Kernel on NERSC Cori GPU Nodes
related talks
25m"Boosting Python Numeric Computations with Dynamic C++ Integration"
26mBodo: Supercomputing-Like Performance and Scale for Python/Pandas
33mA low latency deepdive of Python with Cython
01h 06mBodo: Automatic HPC Performance and Scaling for Data Processing in Python
48mPython Performance: Past, Present and Future
01h 01mFaster Compile Times and Better Performance: Bringing Just-in-Time Compilation to C++
10mMaximizing Kernel Development Productivity Under Performance Constraints
11mEnabling Composition of Kernels and Compilers
