This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gomp4.1] Initial support for some OpenMP 4.1 construct parsing
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Ilya Verbin <iverbin at gmail dot com>
- Cc: Thomas Schwinge <thomas at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Fri, 17 Jul 2015 18:43:06 +0200
- Subject: Re: [gomp4.1] Initial support for some OpenMP 4.1 construct parsing
- Authentication-results: sourceware.org; auth=none
- References: <20150429111406 dot GE1751 at tucnak dot redhat dot com> <874mnzrw1z dot fsf at schwinge dot name> <20150429120644 dot GG1751 at tucnak dot redhat dot com> <20150609183608 dot GA47936 at msticlxl57 dot ims dot intel dot com> <20150609202426 dot GG10247 at tucnak dot redhat dot com> <20150625194529 dot GB33078 at msticlxl57 dot ims dot intel dot com> <20150625201058 dot GK10247 at tucnak dot redhat dot com> <20150717163136 dot GB15252 at msticlxl57 dot ims dot intel dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Jul 17, 2015 at 07:31:36PM +0300, Ilya Verbin wrote:
> One big question is who will maintain the list of scheduled job, its
> dependencies, etc. - libgomp or each target plugin?
>
>
> OpenACC has async queues:
> #pragma acc parallel async(2) wait(1)
>
> But it's not possible to have 2 waits like:
> #pragma acc parallel async(3) wait(1) wait(2)
>
> (GOMP_OFFLOAD_openacc_async_wait_async has only one argument with the number of
> queue to wait)
>
> Thomas, please correct me if I'm wrong.
>
> In this regard, OpenMP is more complicated, since it allows e.g.:
> #pragma omp target nowait depend(in: a, b) depend(out: c, d)
If it is each plugin, then supposedly it should use (if possible) some
common libgomp routine to maintain the queues, duplicating the dependency
graph handling code in each plugins might be too ugly.
> Currently I'm trying to figure out what liboffloadmic can do.
>
>
> BTW, do you plan to remove GOMP_MAP_POINTER mappings from array sections?
> The enter/exit patch for libgomp depends on this change.
My current plan (for Monday and onwards) is to first implement firstprivate
on target construct, once that works hack on the GOMP_MAP_POINTER
replacement, and then rewrite the gimplification rules for target construct
for the new 2.15.5 rules (so that this one does not really break all the
target tests we need the first two working somehow).
Jakub