Getting More From Your Multicore: Exploiting OpenMP From An Open Source Numerical Scripting Language
Michael S. Noble

TL;DR
This paper presents SLIRP, a module generator for S-Lang that leverages OpenMP to enable easy parallelism in high-level scripting for scientific computing, improving performance without requiring parallel programming expertise.
Contribution
It introduces SLIRP, a novel tool that automatically exploits OpenMP parallelism in S-Lang, facilitating high-level parallel scientific computations.
Findings
Demonstrated speedups on various hardware and compiler setups.
Enabled users to utilize multiprocessors in scripting without parallel programming knowledge.
Validated performance improvements with real-world astrophysical modeling examples.
Abstract
We introduce SLIRP, a module generator for the S-Lang numerical scripting language, with a focus on its vectorization capabilities. We demonstrate how both SLIRP and S-Lang were easily adapted to exploit the inherent parallelism of high-level mathematical languages with OpenMP, allowing general users to employ tightly-coupled multiprocessors in scriptable research calculations while requiring no special knowledge of parallel programming. Motivated by examples in the ISIS astrophysical modeling & analysis tool, performance figures are presented for several machine and compiler configurations, demonstrating beneficial speedups for real-world operations.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Computational Physics and Python Applications · Parallel Computing and Optimization Techniques
