ADLB provides a parallel, distributed (via MPI) task queue to let applications overcome unbalance and scalability issues via asynchronous, dynamic load balancing and work stealing.
ADLB provides both C
and Fortran
APIs.
This is a fork of the original ADLB project by Prof. Ralph Butler. Please find upstream repo here.
This fork has been created to make easier for users integrating ADLB in modern code bases, specifically the following improvements have been made:
- portable build system generated by
CMake
; - code clean up, removed unused and outdated sources;
- code clean up, reduced public interface and header inclusions flowing downstream to users;
- auto-generated
Fortran
linkage mangling; - additional benchmarks;
- bug fixes.
The code in this repo tries really hard to abide by the original license from upstream. While no proper licensing information is shipped with the original code, a reference to MPICH licesing model is reported on the project's home page: library authors have been contacted to find a proper license for this repo while in the meantime a restrictive license has been tentatively adopted (GPL-3.0) in order to leave room to relax some terms and switch to a more permissive one (e.g.: a BSD-like). Please note that a relicense could be necessary in the near future.