Load Balancing For High Performance Computing Using Quantum Annealing
Authors:
Omer Rathore,
Alastair Basden,
Nicholas Chancellor,
Halim Kusumaatmaja
Abstract:
With the advent of exascale computing, effective load balancing in massively parallel software applications is critically important for leveraging the full potential of high performance computing systems. Load balancing is the distribution of computational work between available processors. Here, we investigate the application of quantum annealing to load balance two paradigmatic algorithms in hig…
▽ More
With the advent of exascale computing, effective load balancing in massively parallel software applications is critically important for leveraging the full potential of high performance computing systems. Load balancing is the distribution of computational work between available processors. Here, we investigate the application of quantum annealing to load balance two paradigmatic algorithms in high performance computing. Namely, adaptive mesh refinement and smoothed particle hydrodynamics are chosen as representative grid and off-grid target applications. While the methodology for obtaining real simulation data to partition is application specific, the proposed balancing protocol itself remains completely general. In a grid based context, quantum annealing is found to outperform classical methods such as the round robin protocol but lacks a decisive advantage over more advanced methods such as steepest descent or simulated annealing despite remaining competitive. The primary obstacle to scalability is found to be limited coupling on current quantum annealing hardware. However, for the more complex particle formulation, approached as a multi-objective optimization, quantum annealing solutions are demonstrably Pareto dominant to state of the art classical methods across both objectives. This signals a noteworthy advancement in solution quality which can have a large impact on effective CPU usage.
△ Less
Submitted 8 March, 2024;
originally announced March 2024.
OpenLB User Guide: Associated with Release 1.6 of the Code
Authors:
Adrian Kummerländer,
Samuel J. Avis,
Halim Kusumaatmaja,
Fedor Bukreev,
Michael Crocoll,
Davide Dapelo,
Simon Großmann,
Nicolas Hafen,
Shota Ito,
Julius Jeßberger,
Eliane Kummer,
Jan E. Marquardt,
Johanna Mödl,
Tim Pertzel,
František Prinz,
Florian Raichle,
Martin Sadric,
Maximilian Schecher,
Dennis Teutscher,
Stephan Simonis,
Mathias J. Krause
Abstract:
OpenLB is an object-oriented implementation of LBM. It is the first implementation of a generic platform for LBM programming, which is shared with the open source community (GPLv2). Since the first release in 2007, the code has been continuously improved and extended which is documented by thirteen releases as well as the corresponding release notes which are available on the OpenLB website (https…
▽ More
OpenLB is an object-oriented implementation of LBM. It is the first implementation of a generic platform for LBM programming, which is shared with the open source community (GPLv2). Since the first release in 2007, the code has been continuously improved and extended which is documented by thirteen releases as well as the corresponding release notes which are available on the OpenLB website (https://www.openlb.net). The OpenLB code is written in C++ and is used by application programmers as well as developers, with the ability to implement custom models OpenLB supports complex data structures that allow simulations in complex geometries and parallel execution using MPI, OpenMP and CUDA on high-performance computers. The source code uses the concepts of interfaces and templates, so that efficient, direct and intuitive implementations of the LBM become possible. The efficiency and scalability has been checked and proved by code reviews. This user manual and a source code documentation by DoxyGen are available on the OpenLB project website.
△ Less
Submitted 17 May, 2023;
originally announced July 2023.