10

I have a function compute() that has parallelized matrix multiplication inside of it using OpenMP

#pragma omp parallel for

This function is called many times in a loop - which I would like to run in parallel. Will there be any issues in running parallel code inside other parallel code?

This is c++ compiled on Ubuntu.

1 Answer 1

9

It will work fine, but you'll need to enable OpenMP nesting for it to work.

Call

omp_set_nested(1);

at the start of the program and it will allow you to have nested parallel regions.

However: Be aware, that you could end up running many more threads than what you want. So you will want to limit the # of threads of both the top and inner parallel regions.

Sign up to request clarification or add additional context in comments.

1 Comment

This is excellent. I forgot the word nested, and couldn't find anything useful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.