IRILL - Research and Innovation on Free Software

20250408 - Turbo: A Constraint Programming Solver on GPU


"20250408 - Turbo: A Constraint Programming Solver on GPU"
by Pierre Talbot,
Download MP4 format

The number of cores on graphical computing units (GPUs) is reaching thousands nowadays, whereas the clock speed of processors stagnates. Although GPUs have been embraced by the machine learning community, there are only a few work considering them to accelerate constraint solving. One reason is that a constraint solver is a complex piece of software combining many techniques (e.g. search, clause learning, propagation) that were primarily designed within the mental frame of sequential computation. To solve this issue, we take a step back and contribute to a simple, intrinsically parallel, lock-free and formally correct programming language based on concurrent constraint programming. We then re-examine parallel constraint solving on GPUs within this formalism, and present the algorithms behind Turbo, a parallel constraint solver written in CUDA.