P36 - Pyccel: Automating Translation of Python Prototypes to C/Fortran Production Codes
Description
Python is a widely popular programming language, valued for its simplicity, ease of learning, and vast ecosystem of packages, making it ideal for scientific applications. However, its execution speed is a major limitation compared to low-level languages. We present Pyccel, an intuitive transpiler that helps researchers accelerate their Python developments and generate recognisable human-readable Fortran or C code. With the release of Pyccel 2.0 the entry barrier for users has been decreased further. While Pyccel's clean error messages and simple Python-compatible type annotations already allowed researchers to quickly improve their execution times, the addition of support for common containers and classes (a feature often unsupported by tools like Numba, Jax or Pythran) reduces the work required to identify and isolate translatable compute kernels. We will present benchmarks showing speed-ups of around 50x compared to the original Python code as well as examples taken from the PyGyro code, where classes simplify large-scale simulations by improving code readability and maintainability. By empowering researchers to harness the performance of low-level languages without leaving the Python ecosystem, Pyccel narrows the chasm that researchers face when making the jump from prototype to high-performance computing.
Presenter(s)

Presenter
Dr Emily Bourne is a high-performance computing specialist at EPFL’s SCITAS group, where she focuses on large-scale plasma physics simulations and the optimisation of scientific codes using tools like OpenACC and Kokkos. She holds a PhD in Applied Mathematics from Aix-Marseille University. As the main developer of Gyselalib++, a C++ library for plasma physics research, and an active contributor to Pyccel, a Python-to-Fortran/C transpiler, her work supports high-performance computing in scientific applications.