Can oversubscribing the number of OpenMP threads in a hybrid MPI / OpenMP program lead to an incorrect execution of parallel code in C++? By incorrect I mean it does not produce output in a parallel test case as expected.
I am trying to come up with an example of a case where oversubscription, on its own, causes execution of the code to fail. The only cause I can think of and find via research is when there are so many threads used in OpenMP that they cause a stack overflow.
My motivation for the question is I am working on a large project with hybrid OpenMP / MPI where the number of failed tests seems to depend on the number of cores used. I imagine this could be due to a number of issues outside the scope of the question, but I am interested to know whether solely oversubscription could cause correctness tests to fail.