DeAI Research
Source · Zenodo (CERN European Organization for Nuclear Research)

scipy_2014_python-cmake-buildsystem_poster: SciPy 2014 - Python CMake build system

2015Jean‐Christophe Fillion‐Robin

cid fc08b0038b1a82c4c79d64b4fa500fb6bdfc6f5ab6a6893c97d381c28659fff8 · original · open access · via openalex

Title: scipy_2014_python-cmake-buildsystem_poster: SciPy 2014 - Python CMake build system
Authors: Jean‐Christophe Fillion‐Robin
Venue: Zenodo (CERN European Organization for Nuclear Research)
Year: 2015
Canonical: doi:10.5281/zenodo.17736
URL: https://doi.org/10.5281/zenodo.17736
Collector: openalex
OA: true

ABSTRACT
This poster was presented at SciPy 2014 conference. It describes a system for faster, straightforward cross-platform CPython builds across HPC, desktop, and mobile platforms with multiple build system generators and easy integration with C/C++/Fortran scientific computing libraries. Abstract While the Python language has seen multiple implementations across a number of languages as it has grown in popularity, the original C-implementation of Python, CPython, remains the most widely adopted implementation for scientific computing. This can be largely attributed to the ubiquitous presence of C-build systems on scientific computing platforms and the large number of libraries that have a C interface, which are bridged with C-Python Extension Modules. CMake is a popular cross-platform build system that performs reliable system introspection and configuration of C/C++/Fortran builds. The scientific computing community has tooled the python.org C-Python distribution with a CMake configuration so CPython can be built with the CMake build system. This enables cross-compilation for HPC clusters, the raspberry PI, and ARM architectures such as those found in mobile platforms, static and shared builds, and a static python with C extension modules included in the library, for example. Additionally, it provides capabilities such as faster compilation, cross-platform builds with multiple build system generators, easy integration with other CMake configured projects, and configuration and linking other scientific computing libraries into C-Extensions. It is a community maintained, open source project available on Github with nightly test results submitted to a software quality dashboard.