On Mon, Nov 02, 2015 at 11:18:37AM -0500, Nathan Sidwell wrote: > This is the core execution bits of OpenACC reductions. > > We have a new internal fn 'IFN_GOACC_REDUCTION' and a new target hook > goacc.reduction, to lower it on the target compiler.
So, let me start with a few questions: 1) does OpenACC allow UDRs or only the built-in reductions? If it does not allow UDRs, do you have it covered by testcases that you disallow parsing of them (e.g. when you have #pragma omp declare reduction (xyz: struct S: omp_out.x += omp_in.y) initializer (omp_priv = { 5 }) #pragma acc parallel reduction (xyz: var_with_type_S) )? 2) how do you expand the reductions in the end when targetting host fallback or when targetting non-PTX targets? Jakub