Getting More From Your Multicore: Exploiting OpenMP for Astronomy
Michael S. Noble

TL;DR
This paper demonstrates how astronomers can leverage OpenMP to automatically parallelize array-based analysis tasks in scripting environments, significantly improving performance on multicore systems without requiring parallel programming expertise.
Contribution
The authors show how to adapt the ISIS astrophysical analysis system to exploit OpenMP for parallelism, enabling efficient multicore utilization in astronomy research workflows.
Findings
Speedups achieved on various hardware and compiler setups.
ISIS can exploit a wide range of parallelism from single to multiple machines.
Automatic parallelization of array loops enhances analysis efficiency.
Abstract
Motivated by the emergence of multicore architectures, and the reality that parallelism is rarely used for analysis in observational astronomy, we demonstrate how general users may employ tightly-coupled multiprocessors in scriptable research calculations while requiring no special knowledge of parallel programming. Our method rests on the observation that much of the appeal of high-level vectorized languages like IDL or MatLab stems from relatively simple internal loops over regular array structures, and that these loops are highly amenable to automatic parallelization with OpenMP. We discuss how ISIS, an open-source astrophysical analysis system embedding the S-Lang numerical language, was easily adapted to exploit this pattern. Drawing from a common astrophysical problem, model fitting, we present beneficial speedups for several machine and compiler configurations. These results…
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
TopicsAstronomical Observations and Instrumentation · Distributed and Parallel Computing Systems · Scientific Computing and Data Management
