diff options
author | Cesar Philippidis <cesar@codesourcery.com> | 2018-07-30 01:16:52 -0700 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2018-07-30 08:16:52 +0000 |
commit | 605219e7c74bc8039a994847729fb948230d66d3 (patch) | |
tree | 6ec160ee0b78169d4c3af5743fed99bcde4813d5 | |
parent | d634309f9a8af7fe3bae54af004666291c667813 (diff) | |
download | gcc-605219e7c74bc8039a994847729fb948230d66d3.zip gcc-605219e7c74bc8039a994847729fb948230d66d3.tar.gz gcc-605219e7c74bc8039a994847729fb948230d66d3.tar.bz2 |
[nvptx, offloading] Determine default workers at runtime
Currently, if the user doesn't specify the number of workers for an openacc
region, the compiler hardcodes it to a default value.
This patch removes this functionality, such that the libgomp runtime can decide
on a default value.
2018-07-30 Cesar Philippidis <cesar@codesourcery.com>
Tom de Vries <tdevries@suse.de>
* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Rename to ...
(PTX_DEFAULT_RUNTIME_DIM): ... this.
(nvptx_goacc_validate_dims): Set default worker and gang dims to
PTX_DEFAULT_RUNTIME_DIM.
(nvptx_dim_limit): Ignore GOMP_DIM_WORKER.
Co-Authored-By: Tom de Vries <tdevries@suse.de>
From-SVN: r263060
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/nvptx/nvptx.c | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d70b46..5da4378 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2018-07-30 Cesar Philippidis <cesar@codesourcery.com> + Tom de Vries <tdevries@suse.de> + + * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Rename to ... + (PTX_DEFAULT_RUNTIME_DIM): ... this. + (nvptx_goacc_validate_dims): Set default worker and gang dims to + PTX_DEFAULT_RUNTIME_DIM. + (nvptx_dim_limit): Ignore GOMP_DIM_WORKER. + 2018-07-29 John David Anglin <danglin@gcc.gnu.org> * config/pa/pa.c (pa_output_addr_vec): Align address table. diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c index 5608bee..c1946e7 100644 --- a/gcc/config/nvptx/nvptx.c +++ b/gcc/config/nvptx/nvptx.c @@ -5165,7 +5165,7 @@ nvptx_expand_builtin (tree exp, rtx target, rtx ARG_UNUSED (subtarget), /* Define dimension sizes for known hardware. */ #define PTX_VECTOR_LENGTH 32 #define PTX_WORKER_LENGTH 32 -#define PTX_GANG_DEFAULT 0 /* Defer to runtime. */ +#define PTX_DEFAULT_RUNTIME_DIM 0 /* Defer to runtime. */ /* Implement TARGET_SIMT_VF target hook: number of threads in a warp. */ @@ -5214,9 +5214,9 @@ nvptx_goacc_validate_dims (tree decl, int dims[], int fn_level) { dims[GOMP_DIM_VECTOR] = PTX_VECTOR_LENGTH; if (dims[GOMP_DIM_WORKER] < 0) - dims[GOMP_DIM_WORKER] = PTX_WORKER_LENGTH; + dims[GOMP_DIM_WORKER] = PTX_DEFAULT_RUNTIME_DIM; if (dims[GOMP_DIM_GANG] < 0) - dims[GOMP_DIM_GANG] = PTX_GANG_DEFAULT; + dims[GOMP_DIM_GANG] = PTX_DEFAULT_RUNTIME_DIM; changed = true; } @@ -5230,9 +5230,6 @@ nvptx_dim_limit (int axis) { switch (axis) { - case GOMP_DIM_WORKER: - return PTX_WORKER_LENGTH; - case GOMP_DIM_VECTOR: return PTX_VECTOR_LENGTH; |