Each Diamond task on a CPU starts executing as a single thread. Many tasks can be run on one CPU and any task can create new threads dynamically. The Diamond kernel arranges for the available processor time to be shared amongst these various threads based on their priorities.




