Gromacs  2022.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions | Variables
nbnxm_ocl_data_mgmt.cpp File Reference
#include "gmxpre.h"
#include <assert.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cmath>
#include "gromacs/gpu_utils/pmalloc.h"
#include "gromacs/hardware/device_information.h"
#include "gromacs/hardware/device_management.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/force_flags.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/nbnxm/atomdata.h"
#include "gromacs/nbnxm/gpu_data_mgmt.h"
#include "gromacs/nbnxm/gpu_jit_support.h"
#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/nbnxm/nbnxm_gpu.h"
#include "gromacs/nbnxm/nbnxm_gpu_data_mgmt.h"
#include "gromacs/nbnxm/pairlistsets.h"
#include "gromacs/timing/gpu_timing.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/smalloc.h"
#include "nbnxm_ocl_types.h"
+ Include dependency graph for nbnxm_ocl_data_mgmt.cpp:

Description

Define OpenCL implementation of nbnxm_gpu_data_mgmt.h.

Author
Anca Hamuraru anca@.nosp@m.stre.nosp@m.amcom.nosp@m.puti.nosp@m.ng.eu
Dimitrios Karkoulis dimit.nosp@m.ris..nosp@m.karko.nosp@m.ulis.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
Teemu Virolainen teemu.nosp@m.@str.nosp@m.eamco.nosp@m.mput.nosp@m.ing.e.nosp@m.u
Szilárd Páll pall..nosp@m.szil.nosp@m.ard@g.nosp@m.mail.nosp@m..com

Functions

static cl_kernel Nbnxm::nbnxn_gpu_create_kernel (NbnxmGpu *nb, const char *kernel_name)
 Initializes the OpenCL kernel pointers of the nbnxn_ocl_ptr_t input data structure.
 
static void Nbnxm::nbnxn_gpu_init_kernels (NbnxmGpu *nb)
 Initializes the OpenCL kernel pointers of the nbnxn_ocl_ptr_t input data structure.
 
void Nbnxm::gpu_init_platform_specific (NbnxmGpu *nb)
 Initializes the NBNXM GPU data structures.
 
static void Nbnxm::free_kernel (cl_kernel *kernel_ptr)
 Releases an OpenCL kernel pointer.
 
static void Nbnxm::free_kernels (cl_kernel *kernels, int count)
 Releases a list of OpenCL kernel pointers.
 
static void Nbnxm::freeGpuProgram (cl_program program)
 Free the OpenCL program. More...
 
void Nbnxm::gpu_free_platform_specific (NbnxmGpu *nb)
 Releases the NBNXM GPU data structures. More...
 
int Nbnxm::gpu_min_ci_balanced (NbnxmGpu *nb)
 This function is documented in the header file.
 

Variables

static unsigned int Nbnxm::gpu_min_ci_balanced_factor = 50
 This parameter should be determined heuristically from the kernel execution times. More...