Add GpuRegionTimer class
commit7180ba07a2fe6ae2e66879ea80ed92bec802aeaf
authorAleksei Iupinov <a.yupinov@gmail.com>
Fri, 16 Jun 2017 16:04:51 +0000 (16 18:04 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Wed, 4 Oct 2017 07:36:02 +0000 (4 09:36 +0200)
treea0bd8ce4ba5a6719d22ac2b7c9b5523b6dd45718
parentb4ee4b4f034e57e594d10f66d7302e907833a07b
Add GpuRegionTimer class

GpuRegionTimer class is implemented in CUDA/OpenCL to help timing
regions of GPU code. For CUDA, it contains pair of CUDA start/stop events;
for OpenCL, it contains fixed-size array of OpenCL events, which are
passed manually into OpenCL calls within region.
Using this class, cu/cl_timers_t structures and the GPU timing code
are made a bit more uniform.

Change-Id: I8fcd7568653c5bcf3496a2bee227ae03f14a756a
src/gromacs/gpu_utils/gpuregiontimer.cuh [new file with mode: 0644]
src/gromacs/gpu_utils/gpuregiontimer.h [new file with mode: 0644]
src/gromacs/gpu_utils/gpuregiontimer_ocl.h [new file with mode: 0644]
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_types.h
src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl.cpp
src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl_data_mgmt.cpp
src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl_types.h