amdgcn: Enable OpenACC worker partitioning for AMD GCN
authorJulian Brown <julian@codesourcery.com>
Tue, 2 Mar 2021 12:20:13 +0000 (04:20 -0800)
committerThomas Schwinge <thomas@codesourcery.com>
Mon, 9 Aug 2021 13:08:44 +0000 (15:08 +0200)
commitc408512e1f7ca07e07794dc13fd6dfd9d2d7e998
treed0be85d6571a5fbef57922c264ede5ebae87ddc9
parente2a58ed6dc5293602d0d168475109caa81ad0f0d
amdgcn: Enable OpenACC worker partitioning for AMD GCN

gcc/
* config/gcn/gcn.c (gcn_init_builtins): Override decls for
BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START,
BUILT_IN_GOACC_SINGLE_COPY_END and BUILT_IN_GOACC_BARRIER.
(gcn_goacc_validate_dims): Turn on worker partitioning unconditionally.
(gcn_fork_join): Update comment.
* config/gcn/gcn.opt (flag_worker_partitioning): Remove.
(macc_experimental_workers): Remove unused option.
libgomp/
* plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
16.
* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
[acc_device_radeon]: Update.
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
[ACC_DEVICE_TYPE_radeon]: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
[acc_device_radeon]: Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
[ACC_DEVICE_TYPE_radeon]: Likewise.
* testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
'openacc_radeon_accel_selected' and '-O0'.
* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.

Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com>
gcc/config/gcn/gcn.c
gcc/config/gcn/gcn.opt
libgomp/plugin/plugin-gcn.c
libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
libgomp/testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
libgomp/testsuite/libgomp.oacc-fortran/optional-reduction.f90
libgomp/testsuite/libgomp.oacc-fortran/reduction-7.f90