My question is whether is it a good idea to mix OpenMP with pthreads. Are there applications out there which combine these two. Is it a good practice to mix these two? Or typical applications normally just use one of the two.
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Typically it’s better to just use one or the other. But for myself at least, I do regularly mix the two and it’s safe if it’s done correctly.
The most common case I do this is where I have a lower-level library that is threaded using pthreads, but I’m calling it in a user application that uses OpenMP.
There are some cases where it isn’t safe. If for example, you kill a pthread before you exit all OpenMP regions in that thread.