- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi - I am using OpenMP to parallelize a Do loop
If the Do loop extends from s=1 to s=50 iterations, and there are two threads, Fortran automatically divides the iterations into two blocks s=1 to s=25 for one thread and s=26 to s=50 for another thread.
Due to race condition, one thread finishes faster than the other thread. So lets say 1st thread finishes s=25 , when the other thread is at s = 43, both the threads just stop. The second thread should have continued on till it reaches s=50. But it doesnt, it stops completely.
On closer look, I noticed that the other thread reaches the part of the code where PARDISO is called upon and just stops without giving any error. Is there any reason why Pardiso can't be called upon by the other thread when the first thread has finished its set of iterations ?
Thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page