Bridging Worlds: Achieving Language Interoperability between Julia and Python in Scientific Computing
Ianna Osborne, Jim Pivarski, Jerry Ling

TL;DR
This paper explores how to enable seamless interoperability between Julia and Python for scientific computing, focusing on data exchange, performance, and memory management in high energy physics data analysis.
Contribution
It introduces methods for bridging Julia and Python using Awkward Array, addressing key challenges and demonstrating performance improvements in array computations.
Findings
Enhanced performance for array calculations
Effective data exchange between Julia and Python
Insights into memory and dependency management
Abstract
In the realm of scientific computing, both Julia and Python have established themselves as powerful tools. Within the context of High Energy Physics (HEP) data analysis, Python has been traditionally favored, yet there exists a compelling case for migrating legacy software to Julia. This article focuses on language interoperability, specifically exploring how Awkward Array data structures can bridge the gap between Julia and Python. The talk offers insights into key considerations such as memory management, data buffer copies, and dependency handling. It delves into the performance enhancements achieved by invoking Julia from Python and vice versa, particularly for intensive array-oriented calculations involving large-scale, though not excessively dimensional, arrays of HEP data. The advantages and challenges inherent in achieving interoperability between Julia and Python in the domain…
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
TopicsScientific Computing and Data Management · Distributed and Parallel Computing Systems · Computational Physics and Python Applications
