On 08/27/2015 06:13 AM, Nathan Sidwell wrote: > On 08/26/15 21:37, Cesar Philippidis wrote: >> This patch strips out all of the references to ganglocal memory in gcc. >> Unfortunately, the runtime api still takes a shared memory parameter, so >> I haven't made any changes there yet. Perhaps we could still keep the >> shared memory argument to GOACC_parallel, but remove all of the support >> for ganglocal mappings. Then again, maybe we still need support >> ganglocal mappings for legacy purposes. >> >> With the ganglocal mapping aside, I'm in favor of leaving the shared >> memory argument to GOACC_parallel, just in case we find another use for >> shared memory in the future. >> >> Nathan, what do you want to do here? > > We should remove the parameter. > > 1) the patch I posted earlier this week for trunk review doesn't have it
I've committed this patch to gomp-4_0-branch. Do you want to apply that patch to gomp-4_0-branch since ganglocal memory is no longer used? Just remember that you'll need to teach expand_omp_target not to pass the shared memory argument to the runtime. > 2) if it turns out to be needed in the future, it can be done by > extending the tagging scheme we now have in that API > 3) It's a target-specific concept and if needed I strongly suspect > either compile time known by the target compiler (and hence emittable in > the offload data), or deducible at runtime from other data. That sounds reasonable. > WRT to the patch you've posted, I think you can totally excise > 'GOMP_MAP_FORCE_TO_GANGLOCAL' and friends from gomp-constants.h and from > the runtime too. (that could be a separate patch). I'll create a follow up patch for that later, probably after I finish working on the auto-independent loop patch. In the meantime, I'm found a bug where acc routine calls aren't being checked for compatible parallelism. E.g. #pragma acc routine gang void foo (); ... #pragma acc parallel loop worker for (...) foo (); The call to foo isn't being reported as an error, which it should. I'm testing a fix for this. Cesar