diff options
author | Julian Brown <julian@codesourcery.com> | 2019-08-05 15:05:58 -0700 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2020-03-03 12:50:41 +0100 |
commit | bdb426046046cbdb08fef00ae96a801ad94af8b7 (patch) | |
tree | ee41f59ccda35d9c44ea7df1f4c813d5472c9971 /libgomp | |
parent | 1dcedb6c849d5afa7213c14d021426611faddb05 (diff) | |
download | gcc-bdb426046046cbdb08fef00ae96a801ad94af8b7.zip gcc-bdb426046046cbdb08fef00ae96a801ad94af8b7.tar.gz gcc-bdb426046046cbdb08fef00ae96a801ad94af8b7.tar.bz2 |
[og9] Use a single worker for OpenACC on AMD GCN
gcc/
* config/gcn/gcn.c (gcn_goacc_validate_dims): Ensure
flag_worker_partitioning is not set.
(TARGET_GOACC_WORKER_PARTITIONING): Remove target hook definition.
* config/gcn/gcn.opt (macc-experimental-workers): Default to off.
libgomp/
* plugin/plugin-gcn.c (gcn_exec): Use 1 for the default number of
workers.
(cherry picked from openacc-gcc-9-branch commit
bae2ce6026b3fe06b86bde41f1f0ee4a642755cc)
Diffstat (limited to 'libgomp')
-rw-r--r-- | libgomp/ChangeLog.omp | 5 | ||||
-rw-r--r-- | libgomp/plugin/plugin-gcn.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp index 62c56e3..2279545 100644 --- a/libgomp/ChangeLog.omp +++ b/libgomp/ChangeLog.omp @@ -1,5 +1,10 @@ 2019-08-08 Julian Brown <julian@codesourcery.com> + * plugin/plugin-gcn.c (gcn_exec): Use 1 for the default number of + workers. + +2019-08-08 Julian Brown <julian@codesourcery.com> + * plugin/configfrag.ac (amdgcn): Set tgt_plugin. * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type): Add AMD GCN support. diff --git a/libgomp/plugin/plugin-gcn.c b/libgomp/plugin/plugin-gcn.c index 6eaae66..a41568b 100644 --- a/libgomp/plugin/plugin-gcn.c +++ b/libgomp/plugin/plugin-gcn.c @@ -3233,8 +3233,10 @@ gcn_exec (struct kernel_info *kernel, size_t mapnum, void **hostaddrs, problem size, so let's do a reasonable number of single-worker gangs. 64 gangs matches a typical Fiji device. */ + /* NOTE: Until support for middle-end worker partitioning is merged, use 1 + for the default number of workers. */ if (dims[0] == 0) dims[0] = 64; /* Gangs. */ - if (dims[1] == 0) dims[1] = 16; /* Workers. */ + if (dims[1] == 0) dims[1] = 1; /* Workers. */ /* The incoming dimensions are expressed in terms of gangs, workers, and vectors. The HSA dimensions are expressed in terms of "work-items", |