Liquid Engine - Accelerating Bioimage Analysis with dynamic selection of algorithm variations
The Liquid Engine is a high-performance, adaptive framework designed to optimize computational workflows for bioimage analysis. It dynamically generates optimized CPU and GPU-based code variations and selects the fastest combination based on input parameters and device performance, significantly enhancing computational speed. The Liquid Engine employs a machine learning-based Agent to predict the optimal combination of implementations, adaptively responding to delays and performance variations.
Key features include:
- Multiple Implementations: Utilizes various acceleration strategies such as PyOpenCL, CUDA, Cython, Numba, Transonic, and Dask to deliver optimal performance.
- Machine Learning Agent: Predicts the best-performing implementation combinations and adapts dynamically to ensure maximum efficiency.
- Automatic Benchmarking: Continuously benchmarks different implementations to maintain a historical record of runtimes and improve performance over time.
- Seamless Integration: Can easily be integrated into any existing workflow with no extra work for end users.
The Liquid Engine's adaptability and optimization capabilities make it a powerful tool for researchers handling extensive microscopy datasets and requiring high computational efficiency.
if you found this work useful, please cite: preprint and
Liquid Engine
is compatible and tested with Python 3.9, 3.10 and 3.11 in MacOS, Windows and Linux.
You can install Liquid Engine
via pip:
pip install liquid_engine
Distributed under the terms of the CC-By v4.0 license, "Liquid Engine" is free and open source software
If you encounter any problems, please file an issue along with a detailed description.