Gromacs
2018.8
|
#include <gromacs/mdlib/nbnxn_ocl/nbnxn_ocl_types.h>
Main data structure for OpenCL nonbonded force calculations.
Public Attributes | |
const gmx_device_info_t * | dev_info |
OpenCL device information. | |
struct gmx_device_runtime_data_t * | dev_rundata |
OpenCL runtime data (context, kernels) More... | |
cl_kernel | kernel_pruneonly [ePruneNR] |
prune kernels, ePruneKind defined the kernel kinds | |
bool | bPrefetchLjParam |
true if prefetching fg i-atom LJ parameters should be used in the kernels More... | |
cl_bool | bUseTwoStreams |
true if doing both local/non-local NB work on GPU | |
cl_bool | bNonLocalStreamActive |
true indicates that the nonlocal_done event was enqueued | |
cl_atomdata_t * | atdat |
atom data | |
cl_nbparam_t * | nbparam |
parameters required for the non-bonded calc. More... | |
cl_plist_t * | plist [2] |
pair-list data structures (local and non-local) | |
cl_nb_staging_t | nbst |
staging area where fshift/energies get downloaded | |
cl_mem | debug_buffer |
debug buffer | |
cl_command_queue | stream [2] |
local and non-local GPU queues | |
cl_event | nonlocal_done |
events used for synchronization More... | |
cl_event | misc_ops_and_local_H2D_done |
event triggered when the tasks issued in the local stream that need to precede the non-local force calculations are done (e.g. More... | |
cl_bool | bDoTime |
True if event-based timing is enabled. More... | |
cl_timers_t * | timers |
OpenCL event-based timers. More... | |
struct gmx_wallclock_gpu_nbnxn_t * | timings |
Timing data. More... | |
cl_kernel | kernel_noener_noprune_ptr [eelOclNR][evdwOclNR] |
cl_kernel | kernel_ener_noprune_ptr [eelOclNR][evdwOclNR] |
cl_kernel | kernel_noener_prune_ptr [eelOclNR][evdwOclNR] |
cl_kernel | kernel_ener_prune_ptr [eelOclNR][evdwOclNR] |
cl_kernel | kernel_memset_f |
cl_kernel | kernel_memset_f2 |
cl_kernel | kernel_memset_f3 |
cl_kernel | kernel_zero_e_fshift |
cl_bool gmx_nbnxn_ocl_t::bDoTime |
True if event-based timing is enabled.
bool gmx_nbnxn_ocl_t::bPrefetchLjParam |
true if prefetching fg i-atom LJ parameters should be used in the kernels
auxiliary kernels implementing memset-like functions
struct gmx_device_runtime_data_t* gmx_nbnxn_ocl_t::dev_rundata |
OpenCL runtime data (context, kernels)
Pointers to non-bonded kernel functions organized similar with nb_kfunc_xxx arrays in nbnxn_ocl.cpp
cl_event gmx_nbnxn_ocl_t::misc_ops_and_local_H2D_done |
event triggered when the tasks issued in the local stream that need to precede the non-local force calculations are done (e.g.
f buffer 0-ing, local x/q H2D)
cl_nbparam_t* gmx_nbnxn_ocl_t::nbparam |
parameters required for the non-bonded calc.
cl_event gmx_nbnxn_ocl_t::nonlocal_done |
events used for synchronization
event triggered when the non-local non-bonded kernel is done (and the local transfer can proceed)
cl_timers_t* gmx_nbnxn_ocl_t::timers |
OpenCL event-based timers.
struct gmx_wallclock_gpu_nbnxn_t* gmx_nbnxn_ocl_t::timings |
Timing data.
TODO: deprecate this and query timers for accumulated data instead