The evolution of array computing in Python
summary
Concrete bridge between NumPy and other array libraries: __array_function__ and __array_ufunc__ let NumPy functions dispatch to Dask, CuPy, PyTorch, TensorFlow, etc., so identical code can run on GPU or distributed backends and an example shows 6× faster on a CuPy GPU array. Works in NumPy 1.16 with an environment switch; Dask results require explicit Dask compute; array-creation functions and some special cases are not yet overridden and some behaviors remain incomplete.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:27Early array computing history
- 3:14Recent array libraries boom
- 4:58Live demo: function interoperability
- 7:26Array function protocol goals
- 9:17How array function protocol works
- 11:50Implementation and testing
- 16:29Limitations and future work
- 18:35NumPy funding and plans
- 22:30NumPy future and new libraries
- 23:13Modern array libraries comparison
- 24:23XND library intro
- 25:47XND features
- 27:14Extensor library intro
- 28:41Extensor performance and bindings
- 29:24YouArray and closing
related talks
36muarray: Separating interface from implementation
28mA Hitchhiker's Guide to the Array API Standard Ecosystem
43muarray - Efficient and Generic Array Computation
20mNumS: Scalable Array Programming for the Cloud
01h 22mUsing Dask for Parallel Computing in Python
44mUsing Dask for Parallel Computing in Python
47mBig ideas shaping scientific Python: the quest for performance and usability
30mCuPy: A NumPy-compatible Library for GPU
