This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

openmp + pthreads


Hi everybody,

I have a program that uses pthreads for multitasking. I want to use
OpenMP for making some of these threads to perform faster (1 OMP
parallel section in main(), 1 OMP parallel section in one of the
thread's function). However, when I use OpenMP's parallel sections in
more than 1 thread, I generally experience deadlocks! Sometimes it
works, sometimes the program stops (like a deadlock) when entering the
parallel section of the thread's function.

- I set OMP_DYNAMIC to TRUE for being able to use
omp_set_num_threads() function.
- I am using gcc-4.2.2 with openmp support

If I use OpenMP parallelism just in the main(), it works without any
problem. If I also use it in the thread's function in addition to
main(), most of the time, deadlock occurs.

Each of these threads will use the same  number of OpenMP threads, and
they run asynchronously. There is no synchronization between them.
What can be the source of the problem?

Thanks

Haris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]