co-supervised with Josh Milthorope
PROJECT : Given the trend in HPC is nowadays towards heterogeneous systems, building off our existing infrastructure this project is about investigating GPUs, and potentially other accelerators (e.g., FPGA), to speedup SAT and #SAT workflows in HPC.
The student may wish to develop and implement support for heterogeneous and dynamic search architectures. For the context on this workstream, Dagster has a limitation currently, that for a single run the type of processes, and how they communicate, is fixed. For one example, if local search is to be used, then the current architecture means that is used for all search exercises, and not just for the search exercise on one, or a subset of subproblems. More flexibility in this regard would allow a user to assign more computing power, or a tailored procedure, to subproblems. A first step on a roadmap to improving things, is to allow the user to specify, for each DAG node (I.e., subproblem) what search architecture to use on that for a given run. A second step on the roadmap to improving things, is to design a system that dynamically determines the best algorithm ( or algorithm portfolio) to run on each subproblem.