fcdmft.utils.worksteal module#

class fcdmft.utils.worksteal.MPIWorkStealingScheduler(cartcomm=None)[source]#

Bases: object

Methods

finalize()

Free the RMA window and clean up.

get_workitems()

Generator that yields jobs to be done.

initialize_workitems(workitems)

Put jobs in the scheduler.

finalize()[source]#

Free the RMA window and clean up.

get_workitems()[source]#

Generator that yields jobs to be done.

The main work-stealing loop lives here.

Yields:
ndarray

1D array of np.int64; a row of the global workitems array.

initialize_workitems(workitems)[source]#

Put jobs in the scheduler.

A window is then created on each rank to store the current job index.

Parameters:
workitemsarray_like of int

2D array (or list of tuples) of jobs, one per row.