celerity-runtime
celerity-runtime copied to clipboard
[IDAG] Pre-Execution Refactoring
This PR performs some small refactorings necessary for me to introduce the new executor- and backend types in another standalone PR without replacing the entire runtime. It is best reviewed per commit.
- The additional members attached to device-kernel / host-task instructions for bounds checking now also include the task type, which will improve the quality of diagnostic messages.
- Instructions and outbound pilots are flushed from the IGGen in batches instead of individually, which reduces the frequency with which an implementor of the delegate (= the executor) needs to take locks to move this info to their thread.
accessorandclosure_hydrator::accessor_infonow refer to "allocations" and "buffers" instead of "virtual" and "backing buffers", and the bounds-checking is improved from using simple arrays to a proper struct.host_task_launcher(currently only used as a placeholder) now is independent ofhost_queue, which will disappear soon.- As the names
backendandexecutorwill be re-used, these namespaces / components are renamed tolegacy_backendandlegacy_executorin the meantime so they can stick around for the next PR.