This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.9.1 OpenMP 4.0 task nesting
- From: RaÃl Vidal <raulvior dot bcn at gmail dot com>
- To: gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Thu, 30 Apr 2015 14:40:47 +0200
- Subject: Re: GCC 4.9.1 OpenMP 4.0 task nesting
- Authentication-results: sourceware.org; auth=none
- References: <CAAmnqZ9ZJo_JLNyfGa+p6Wny-HfpyG+whJ+n5Fa1yUuMQ56g8w at mail dot gmail dot com>
I forgot to add a barrier inside task1, as it as to wait for all its
siblings to finish.
> #pragma omp parallel
> {
> #pragma omp single
> {
>
> for (i = 0; i < 10000; i++)
> {
> int x = 0;
> #pragma omp task depend(in:x) //task1
> {
> for (int i = 0; i<4; i++){
> #pragma omp task shared(x)
> {
> dosomething(x); //tasknested
> }
> }
#pragma omp taskwait
> }
> #pragma omp task depend(inout:x) //task2
> {
> dosomething(x);
> }
> #pragma omp taskwait
> }
> }
> }