aboutsummaryrefslogtreecommitdiff
path: root/libgomp/plugin
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2021-03-02 04:20:13 -0800
committerThomas Schwinge <thomas@codesourcery.com>2021-08-09 15:08:44 +0200
commitc408512e1f7ca07e07794dc13fd6dfd9d2d7e998 (patch)
treed0be85d6571a5fbef57922c264ede5ebae87ddc9 /libgomp/plugin
parente2a58ed6dc5293602d0d168475109caa81ad0f0d (diff)
downloadgcc-c408512e1f7ca07e07794dc13fd6dfd9d2d7e998.zip
gcc-c408512e1f7ca07e07794dc13fd6dfd9d2d7e998.tar.gz
gcc-c408512e1f7ca07e07794dc13fd6dfd9d2d7e998.tar.bz2
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>
Diffstat (limited to 'libgomp/plugin')
-rw-r--r--libgomp/plugin/plugin-gcn.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libgomp/plugin/plugin-gcn.c b/libgomp/plugin/plugin-gcn.c
index f26d736..9e7377c 100644
--- a/libgomp/plugin/plugin-gcn.c
+++ b/libgomp/plugin/plugin-gcn.c
@@ -3038,8 +3038,7 @@ gcn_exec (struct kernel_info *kernel, size_t mapnum, void **hostaddrs,
64 gangs matches a typical Fiji device. */
if (dims[0] == 0) dims[0] = get_cu_count (kernel->agent); /* Gangs. */
- /* NOTE: Until support for middle-end worker partitioning is merged, force 'num_workers (1)'. */
- if (/*TODO dims[1] == 0*/ true) dims[1] = 1; /* Workers. */
+ if (dims[1] == 0) dims[1] = 16; /* Workers. */
/* The incoming dimensions are expressed in terms of gangs, workers, and
vectors. The HSA dimensions are expressed in terms of "work-items",