Pricing Python Parallelism: A Dynamic Language Cost Model for Heterogeneous Platforms
summary
An analytical cost model (ACM) for ALPyNA decides whether to JIT code for CPU (Numba) or GPU by modeling loop-dependence partitions (D-sequential, D-parallel, D-GPU, D-GPU-complement), thread-block mapping and a Lambda-X crossover where the interpreter can keep the GPU fed. Experiments across 12 benchmarks (gemm, mandelbrot, black scholes shown) on three platforms use profiling to derive mu and psi factors; overall mispredictions cover 14.3% of ranges and cost 13.6% slowdown, with ACM outdoing an SVM on most cases.
AI-written summary · about
chapters (11)
- 0:00Intro
- 0:16Heterogeneous architectures
- 1:29Runtime dependence analysis
- 2:58ACM Interpreter and CPU modelling
- 3:57GPU - SIMT Architecture
- 4:35Modelling GPU execution
- 8:51Accounting for GPU invocation
- 10:30Calibration to calculate relative cost Ideal compiled CPU execution relative to VM
- 12:44Experimental Results - prediction performance
- 13:28Experimental Results - misprediction range
- 15:16Conclusion
related talks
27mALPyNA: Acceleration of Loops in Python for Novel Architectures
26mModeling and Analyzing Evaluation Cost of CUDA Kernels
25mA Modular Static Cost Analysis for GPU Warp-Level Parallelism
33mWhen GPUs Make Python Slower: Patterns and Pitfalls
29mAutomatic differentiation, a tale of two languages
30mBreaking the Speed Limit: Fast Statistical Models with Python 3.14...
31m"Optimizing Scientific Python with C++, CUDA, and Serverless Compute"
01h 10mJAX: accelerated machine learning research via composable function transformations in Python
