diff options
author | Cesar Philippidis <cesar@codesourcery.com> | 2018-08-13 05:04:24 -0700 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2018-08-13 12:04:24 +0000 |
commit | bd9b3d3d1a8d33e460ae137da0cb0d5a919e8f8f (patch) | |
tree | 0729abf2a8dd6b64d2d8313c3c16b16b428c15ab /gcc/cp/lambda.c | |
parent | cdf899781c7321987a9948e5ca0847e8b38da798 (diff) | |
download | gcc-bd9b3d3d1a8d33e460ae137da0cb0d5a919e8f8f.zip gcc-bd9b3d3d1a8d33e460ae137da0cb0d5a919e8f8f.tar.gz gcc-bd9b3d3d1a8d33e460ae137da0cb0d5a919e8f8f.tar.bz2 |
[nvptx] Use CUDA driver API to select default runtime launch geometry
The CUDA driver API starting version 6.5 offers a set of runtime functions to
calculate several occupancy-related measures, as a replacement for the occupancy
calculator spreadsheet.
This patch adds a heuristic for default runtime launch geometry, based on the
new runtime function cuOccupancyMaxPotentialBlockSize.
Build on x86_64 with nvptx accelerator and ran libgomp testsuite.
2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
Tom de Vries <tdevries@suse.de>
PR target/85590
* plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
(cuOccupancyMaxPotentialBlockSize): Declare.
* plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
CUDA_ONE_CALL_MAYBE_NULL.
* plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
CUoccupancyB2DSize and declare
cuOccupancyMaxPotentialBlockSize.
(nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
default num_gangs and num_workers when the driver supports it.
Co-Authored-By: Tom de Vries <tdevries@suse.de>
From-SVN: r263505
Diffstat (limited to 'gcc/cp/lambda.c')
0 files changed, 0 insertions, 0 deletions