Building Fast Packages Faster: Julia as a Backend to Python and R
11-30, 10:55–11:25 (Europe/Amsterdam), Ernst-Curie

Whether through Cython, Rcpp, or other interfaces, many of the common packages in the Python and R ecosystems contain large amounts of C code for the package internals. The reason for this is performance: C is just a faster language than Python and R. However, Julia is also as fast as C while having higher level semantics similar to Python and R. Could one build Python and R packages using Julia? In this talk we will discuss how diffeqpy/diffeqr were built as packages to allow Python/R users to use Julia's DifferentialEquations.jl in a simple way. We will discuss topics from automating GPU compatibility, packaging precompiled binaries of Julia code, and automating interface wrappers which enable doing this efficiently. The audience will leave with a clear idea of how to use Julia as an alternative to C for package internals.


Using Julia instead of C or Fortran for package internals can have many advantages for Python and R users, since the language acts more similar to the higher level languages. We will discuss how to make this a reality by demonstrating how it was done for diffeqpy and diffeqr, packages in Python and R respectively that interface with Julia's DifferentialEquations.jl from the SciML organization. The way that it was done will be detailed in order to help developers replicate the format for other package types. We will discuss the performance advantages that can be seen from this arrangement, showcasing examples where Julia-based GPU-accelerated differential equation solvers achieve a 20x-100x acceleration over PyTorch and Jax.


Prior Knowledge Expected

No previous knowledge expected

Dr. Rackauckas is a Research Affiliate and Co-PI of the Julia Lab at the Massachusetts Institute of Technology, VP of Modeling and Simulation at JuliaHub and Creator / Lead Developer of JuliaSim. He's also the Director of Scientific Research at Pumas-AI and Creator / Lead Developer of Pumas, and Lead Developer of the SciML Open Source Software Organization.

Dr. Rackauckas's research and software is focused on Scientific Machine Learning (SciML): the integration of domain models with artificial intelligence techniques like machine learning. By utilizing the structured scientific (differential equation) models together with the unstructured data-driven models of machine learning, our simulators can be accelerated, our science can better approximate the true systems, all while enjoying the robustness and explainability of mechanistic dynamical models.