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