Spectra and Chroma are the most important works that do partitioning before program execution.
Dynamic offloading starts to offload tasks when one of the required resources is insufficient and partitions the program according to the availability of resources at runtime.