Skip to content

Conversation

@prestonpiercey-tamu
Copy link
Contributor

Creates a templated workqueue structure for YGM applications and provides FIFO, LIFO, and priority policies for queue ordering. Current implementation supports one lambda to be run for all items that are inserted into the queue.

Work items are processed in batches (all items currently in queue will be processed) at barriers by a helper function via comm::register_pre_barrier_callback or manually via local_process_all. There is no support for individual execution at this time.

Future directions may include more granular execution policies and a way to enqueue work lambdas alongside work items.

Test suite to ensure intended behavior for all queue types.

@prestonpiercey-tamu prestonpiercey-tamu changed the title Feature/workqueue Feature/work_queue Dec 10, 2025
@steiltre
Copy link
Collaborator

This all looks good. I thought a little more about a new place to put this code, but I think ygm/container makes the most sense for now. May revisit this location in the future.

@steiltre steiltre merged commit 051e04d into llnl:v0.9-dev Dec 10, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants