Store DeviceInformation inside the DeviceContext class
authorArtem Zhmurov <zhmurov@gmail.com>
Wed, 11 Mar 2020 13:21:24 +0000 (14:21 +0100)
committerChristian Blau <cblau@gerrit.gromacs.org>
Thu, 19 Mar 2020 10:47:34 +0000 (11:47 +0100)
commit87f193973e4263f8b81bb8d46015440d27cd6987
treee293721ecdb78ec54d7ce38cf363e850f7ee92eb
parent9519d4cf33e7fce4132cdcf4cf743ab453098a94
Store DeviceInformation inside the DeviceContext class

The device information with which the context was created is
now stored inside the DeviceContext object. This allows to pass
less arguments when information from DeviceInformation is needed
(e.g. for OpenCL optimization). The empty constructor for the
DeviceContext was also removed to make having invalid context less
probable.

Change-Id: Ie9600a89c21327246251c891807c37084f626f76
33 files changed:
src/gromacs/ewald/pme_gpu_internal.cpp
src/gromacs/ewald/pme_gpu_program.cpp
src/gromacs/ewald/pme_gpu_program.h
src/gromacs/ewald/pme_gpu_program_impl.cpp
src/gromacs/ewald/pme_gpu_program_impl.cu
src/gromacs/ewald/pme_gpu_program_impl.h
src/gromacs/ewald/pme_gpu_program_impl_ocl.cpp
src/gromacs/ewald/pme_pp_comm_gpu_impl.cu
src/gromacs/ewald/tests/testhardwarecontexts.h
src/gromacs/gpu_utils/device_context.h
src/gromacs/gpu_utils/device_context_ocl.cpp
src/gromacs/gpu_utils/device_context_ocl.h
src/gromacs/gpu_utils/device_stream.cpp
src/gromacs/gpu_utils/device_stream.cu
src/gromacs/gpu_utils/device_stream.h
src/gromacs/gpu_utils/device_stream_ocl.cpp
src/gromacs/gpu_utils/gpu_utils.cu
src/gromacs/gpu_utils/oclutils.h
src/gromacs/gpu_utils/tests/typecasts_runner.cu
src/gromacs/mdlib/tests/constrtestrunners.cu
src/gromacs/mdlib/tests/leapfrogtestrunners.cu
src/gromacs/mdlib/tests/settletestrunners.cu
src/gromacs/mdrun/runner.cpp
src/gromacs/mdtypes/state_propagator_data_gpu_impl_gpu.cpp
src/gromacs/nbnxm/cuda/nbnxm_cuda.cu
src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu
src/gromacs/nbnxm/cuda/nbnxm_cuda_types.h
src/gromacs/nbnxm/gpu_data_mgmt.h
src/gromacs/nbnxm/nbnxm_setup.cpp
src/gromacs/nbnxm/opencl/nbnxm_ocl.cpp
src/gromacs/nbnxm/opencl/nbnxm_ocl_data_mgmt.cpp
src/gromacs/nbnxm/opencl/nbnxm_ocl_jit_support.cpp
src/gromacs/nbnxm/opencl/nbnxm_ocl_types.h