Cargando…

Function Timing and Optimization: Numba Implementations for the BLonD Code

This report delves into implementing Numba functions and examines their efficiency. The focus is on evaluating Numba implementations as potential replacements for C++ functions within the BLonD Code. By leveraging Numba's just-in-time compilation for Python, we analyze performance gains and con...

Descripción completa

Detalles Bibliográficos
Autor principal: Perovic, Helena
Lenguaje:eng
Publicado: 2023
Materias:
Acceso en línea:http://cds.cern.ch/record/2871506
Descripción
Sumario:This report delves into implementing Numba functions and examines their efficiency. The focus is on evaluating Numba implementations as potential replacements for C++ functions within the BLonD Code. By leveraging Numba's just-in-time compilation for Python, we analyze performance gains and consider the feasibility of transitioning from established C++ functions. Through meticulous function timing, profiling, and benchmarking, this project aims to inform decisions regarding performance optimization in scientific computing. The results offer insights into the interplay between ease of implementation and computational performance. Notably, the speedup factor of C++ varies from 0.9 (sometimes slower than Numba) to 1.6, demonstrating the versatility and competitive nature of Numba in optimizing code execution.