GPUIterator: Bridging the Gap between Chapel and GPU Platforms
summary
A Chapel module called GPUIterator module implements a portable interface to run Chapel forall loops on GPUs (CUDA and OpenCL), accept distributed domains across CPU+GPU nodes, and split iterations by a tunable percentage for hybrid CPU+GPU partitioning. It requires only ~6–11 lines changed in Chapel user code (versus ~50–100 lines for raw CUDA/OpenCL), wires to hand-tuned native kernels, is open source, and shows up to ~14× multi-node speedup and about ≈55% gain from hybrid execution when CPU and GPU performance are comparable.
AI-written summary · about
