diff mbox

[gomp4,1/3] OpenACC 2.0 support for libgomp - OpenACC runtime, NVidia PTX/CUDA plugin

Message ID 87h9z4uf0a.fsf@schwinge.name
State New
Headers show

Commit Message

Thomas Schwinge Oct. 16, 2014, 4:59 p.m. UTC
Hi Julian!

On Tue, 14 Oct 2014 17:11:18 +0100, Julian Brown <julian@codesourcery.com> wrote:
> This is a slightly-updated version of the following patch, but this
> time tested (with the aid of a series of patches implementing PTX
> support from Bernd Schmidt), and against the gomp4 branch:
> 
> https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02022.html
> 
> Results (at least for the parts where the middle-end support is on the
> branch already) are comparable with our local development branch.
> 
> Many of Jakub's initial review comments from the mainline version of
> the patch have not yet been addressed, but I have a couple of bits ready
> as follow-up patches and will be posting those shortly also. I plan to
> address the remainder of the issues directly on the gomp4 branch, if
> possible.
> 
> OK to apply (to the gomp4 branch)?

Yes, thanks!  Also the tests and initial documentation patches.

As you're saying, further incremental patch will be required on top of
that; just one small request at this time:

>     libgomp/

>     * oacc-host.c: New file.

As this one completely obsoletes the existing non-shared memory host
plugin, you might as well just remove that file, libgomp/plugin-host.c,
as part of your commit.


Also to everyone working on the gomp-4_0-branch: a patch like the
following one will temporarily be required to avoid a lot of ICEs, until
propagation of options (-fopenacc, -fopenmp) is available in
LTO/offloading mode; for the time being, always enable all OpenACC and
OpenMP builtins:



Grüße,
 Thomas
diff mbox

Patch

--- gcc/builtins.def
+++ gcc/builtins.def
@@ -151,7 +151,8 @@  along with GCC; see the file COPYING3.  If not see
 #undef DEF_GOACC_BUILTIN
 #define DEF_GOACC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
   DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,    \
-               false, true, true, ATTRS, false, flag_openacc)
+               false, true, true, ATTRS, false, \
+	       (/* TODO */ true || flag_openacc))
 #undef DEF_GOACC_BUILTIN_COMPILER
 #define DEF_GOACC_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \
   DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,    \
@@ -163,7 +164,7 @@  along with GCC; see the file COPYING3.  If not see
 #define DEF_GOMP_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
   DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,    \
                false, true, true, ATTRS, false, \
-	       (flag_openmp || flag_tree_parallelize_loops))
+	       (/* TODO */ true || flag_openmp || flag_tree_parallelize_loops))
 
 /* Builtin used by implementation of Cilk Plus.  Most of these are decomposed
    by the compiler but a few are implemented in libcilkrts.  */