This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [hsa merge 07/10] IPA-HSA pass
- From: Alexander Monakov <amonakov at ispras dot ru>
- To: Ilya Verbin <iverbin at gmail dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, gcc-patches at gcc dot gnu dot org, Martin Jambor <mjambor at suse dot cz>, Thomas Schwinge <thomas at codesourcery dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Thu, 21 Jan 2016 14:39:28 +0300 (MSK)
- Subject: Re: [hsa merge 07/10] IPA-HSA pass
- Authentication-results: sourceware.org; auth=none
- References: <20160113173925 dot 220029649 at virgil dot suse dot cz> <20160113173925 dot 776317025 at virgil dot suse dot cz> <20160114125858 dot GE3017 at tucnak dot redhat dot com> <20160115145323 dot GL3982 at virgil dot suse dot cz> <20160115150149 dot GX3017 at tucnak dot redhat dot com> <20160115160234 dot GO3982 at virgil dot suse dot cz> <20160115160954 dot GZ3017 at tucnak dot redhat dot com> <20160115163814 dot GB48907 at msticlxl57 dot ims dot intel dot com> <20160115164522 dot GA3017 at tucnak dot redhat dot com> <20160115180547 dot GC48907 at msticlxl57 dot ims dot intel dot com> <20160120185330 dot GC49431 at msticlxl57 dot ims dot intel dot com>
On Wed, 20 Jan 2016, Ilya Verbin wrote:
> I agree that OpenMP doesn't guarantee that all target regions must be executed
> on the device, but in this case a user can't be sure that some library function
> always will offload (because the library might be replaced by fallback version),
> and he/she will have to write something like:
I think there should be a way to allow the OpenMP runtime deduce what data
needs to be resynced on target region entries/exits in presence of fallback
execution; explicit copying via map(from/to:...) is a too big hammer for that.
I wonder if it was discussed.
It would be nice to be able to apply the idea of "debug counters" to target
region offloading in order to automatically bisect offload miscompilations:
force fallback execution for target region entries for Nth and next
executions; bisect by N to find the first incorrectly executing offload
region. If the implementation cannot count on source program fully handling
arbitrary fallbacks, this idea doesn't work in general.
Alexander