Previous | Next --- Slide 38 of 51
Back to Lecture Thumbnails
ArbitorOfTheFountain

Does OpenMP provide any way to control mapping of work to processors? For example in assignment 3 we have 200+ threads and 61 cores. Or is that entirely handled behind the scenes as described in the work stealing lecture?

traveling_saleswoman

@ArbitorOfTheFountain I don't know if OpenMP does let you get into the specifics of mapping control of work to processors, but I do know it lets you specify the type of scheduling that it does: static or dynamic. Static scheduling assigns each thread a given chunk of work, while dynamic scheduling puts the work in a work queue and assigns the work to threads as they become free. I don't believe there should be work stealing, as it seems there is one internal work queue that all threads get assigned work from.

OpenMP loop scheduling documentation: https://software.intel.com/en-us/articles/openmp-loop-scheduling

hofstee

OpenMP does allow you to set affinity.