Performance evaluation of a novel implementation of NumPy library for numerical computing and machine learning (Utvrđivanje brzine nove implementacije NumPy biblioteke za numeričko računarstvo i mašinsko učenje)
Period trajanja: 1. 6. 2024. 31. 12. 2024.
Rok za prijave: 23. 4. 2024. 10. 5. 2024.
Python is arguably the most popular programming language nowadays, and is thus widely used for scientific computing and machine learning. The central component of Python’s scientific ecosystem is NumPy, a library that provides an implementation of tensor (multi-dimensional array) data structure and a set of associated algebraic tensor operations. However, the base Python runtime is notorious for its lack of performance, and even NumPy, whose core is implemented in Fortran and C, is not as performant as it can be. We have recently developed Codon, a static ahead-of-time compiler for Python, and a new highly optimized implementation of NumPy that is powered by Codon. In this project, we are looking to compare this new implementation with the reference NumPy implementation, as well as the other performant NumPy implementations (e.g., Cython, Numba, Pythran, etc.) through the standardized benchmark sets such as NPBench.
Tasks:
● Read and understand the literature
● Set up the various NumPy environments
● Implement and adapt NPBench and other benchmark suites in Codon
● Compare the results between Codon NumPy and other implementations
● Write a report detailing the improvements and the differences
Kontakt
Ibrahim Numanagić |