Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

CUDAVolMapCreateILS.cu File Reference

CUDA kernels for calculating implicit ligand sampling occupancy maps. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cuda.h>
#include "WKFThreads.h"
#include "WKFUtils.h"
#include "CUDAKernels.h"
#include "utilities.h"

Go to the source code of this file.

Compounds

union  flint_t
struct  occthrparms_t

Defines

#define CUERR
#define USE_ENERGY_EXCL
#define TEST_MBLOCK_EXCL
#define TEST_SHIFT_EXCL
#define MAX_THREADBLOCKS   65536
#define BIN_DEPTH   8
#define BIN_SLOTSIZE   4
#define BIN_SIZE   (BIN_DEPTH * BIN_SLOTSIZE)
#define BIN_SHIFT   5
#define BIN_SLOTSHIFT   2
#define MAX_VDWPARMS   160
#define MAX_PROBES   8
#define MAX_EXTRAS   50
#define MAX_BINOFFSETS   1467
#define MAX_EXCLOFFSETS   27
#define MAX_CONFORMERS   586
#define DO_ONE_PLANE
#define THBLEN   4
#define NTHREADSPERBLOCK   (THBLEN*THBLEN*THBLEN)
#define BSHIFT   2
#define NTPBSHIFT   6
#define NCONFPERLOOP   5
#define NTPB_TIMES_NCPL   (NTHREADSPERBLOCK * NCONFPERLOOP)
#define PADMASK   (THBLEN-1)
#define MAX_ALLOWABLE_ENERGY   87.f
#define TIME_PER_MONOATOM_WORKUNIT   1.24553913519431e-10
#define TIME_PER_MULTIATOM_WORKUNIT   5.24559386973180e-09
#define MAX_TIME_PER_KERNEL   1.f
#define DEFAULT_EXCL_DIST   1.f

Typedefs

typedef flint_t flint
typedef occthrparms_t occthrparms

Functions

__global__ void cuda_find_energy_exclusions (int *excl, const flint *bin_zero, int nbx, int nby, int mzblocks, int mzblockoffset)
__global__ void cuda_occupancy_monoatom (float *map, const int *excl, const flint *bin_zero, int nbx, int nby, int mzblocks, int mzblockoffset)
__global__ void cuda_occupancy_multiatom (float *map, const int *excl, const flint *bin_zero, int nbx, int nby, int mzblocks, int mzblockoffset)
void * cuda_occupancy_thread (void *voidparms)
int vmd_cuda_evaluate_occupancy_map (int mx, int my, int mz, float *map, float max_energy, float cutoff, float hx, float hy, float hz, float x0, float y0, float z0, float bx_1, float by_1, float bz_1, int nbx, int nby, int nbz, const float *bin, const float *bin_zero, int num_binoffsets, const char *binoffsets, int num_extras, const float *extra, int num_vdwparms, const float *vdwparms, int num_probes, const float *probevdwparms, int num_conformers, const float *conformers)

Variables

__constant__ float const_max_energy
__constant__ float const_min_occupancy
__constant__ float const_cutoff
__constant__ float const_min_excldist
__constant__ float const_hx
__constant__ float const_hy
__constant__ float const_hz
__constant__ float const_x0
__constant__ float const_y0
__constant__ float const_z0
__constant__ float const_bx_1
__constant__ float const_by_1
__constant__ float const_bz_1
__constant__ float const_inv_numconf
__constant__ int const_num_binoffsets
__constant__ int const_num_extras
__constant__ int const_num_probes
__constant__ int const_num_conformers
__constant__ float const_vdwparms [2 *MAX_VDWPARMS]
__constant__ float const_probevdwparms [2 *MAX_PROBES]
__constant__ flint const_extra [BIN_SLOTSIZE *MAX_EXTRAS]
__constant__ int const_binoffsets [MAX_BINOFFSETS]
__constant__ int const_excloffsets [MAX_EXCLOFFSETS]
__constant__ float const_conformers [3 *MAX_PROBES *MAX_CONFORMERS]


Detailed Description

CUDA kernels for calculating implicit ligand sampling occupancy maps.

Definition in file CUDAVolMapCreateILS.cu.


Define Documentation

#define BIN_DEPTH   8
 

Definition at line 86 of file CUDAVolMapCreateILS.cu.

#define BIN_SHIFT   5
 

Definition at line 89 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, and cuda_occupancy_multiatom.

#define BIN_SIZE   (BIN_DEPTH * BIN_SLOTSIZE)
 

Definition at line 88 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

#define BIN_SLOTSHIFT   2
 

Definition at line 90 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, and cuda_occupancy_multiatom.

#define BIN_SLOTSIZE   4
 

Definition at line 87 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

#define BSHIFT   2
 

Definition at line 182 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

#define CUERR
 

Value:

do { \
    cudaError_t err; \
    if ((err = cudaGetLastError()) != cudaSuccess) { \
      printf("CUDA error: %s, %s line %d\n", cudaGetErrorString(err), __FILE__, __LINE__); \
      printf("Thread aborting...\n"); \
      return NULL; \
    } \
  } while (0)

Definition at line 38 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

#define DEFAULT_EXCL_DIST   1.f
 

#define DO_ONE_PLANE
 

Definition at line 176 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, and cuda_occupancy_multiatom.

#define MAX_ALLOWABLE_ENERGY   87.f
 

Definition at line 199 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom.

#define MAX_BINOFFSETS   1467
 

Definition at line 160 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

#define MAX_CONFORMERS   586
 

Definition at line 172 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

#define MAX_EXCLOFFSETS   27
 

Definition at line 164 of file CUDAVolMapCreateILS.cu.

#define MAX_EXTRAS   50
 

Definition at line 156 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

#define MAX_PROBES   8
 

Definition at line 153 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom, and cuda_occupancy_thread.

#define MAX_THREADBLOCKS   65536
 

Definition at line 84 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

#define MAX_TIME_PER_KERNEL   1.f
 

#define MAX_VDWPARMS   160
 

Definition at line 150 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

#define NCONFPERLOOP   5
 

Definition at line 190 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom.

#define NTHREADSPERBLOCK   (THBLEN*THBLEN*THBLEN)
 

Definition at line 180 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, and cuda_occupancy_multiatom.

#define NTPB_TIMES_NCPL   (NTHREADSPERBLOCK * NCONFPERLOOP)
 

Definition at line 195 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom.

#define NTPBSHIFT   6
 

Definition at line 184 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, and cuda_occupancy_multiatom.

#define PADMASK   (THBLEN-1)
 

Definition at line 197 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom, and cuda_occupancy_thread.

#define TEST_MBLOCK_EXCL
 

Definition at line 75 of file CUDAVolMapCreateILS.cu.

#define TEST_SHIFT_EXCL
 

Definition at line 76 of file CUDAVolMapCreateILS.cu.

#define THBLEN   4
 

Definition at line 179 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

#define TIME_PER_MONOATOM_WORKUNIT   1.24553913519431e-10
 

#define TIME_PER_MULTIATOM_WORKUNIT   5.24559386973180e-09
 

#define USE_ENERGY_EXCL
 

Definition at line 67 of file CUDAVolMapCreateILS.cu.


Typedef Documentation

typedef union flint_t flint
 

typedef struct occthrparms_t occthrparms
 


Function Documentation

__global__ void cuda_find_energy_exclusions int *    excl,
const flint   bin_zero,
int    nbx,
int    nby,
int    mzblocks,
int    mzblockoffset
[static]
 

Definition at line 320 of file CUDAVolMapCreateILS.cu.

References BIN_SHIFT, BIN_SIZE, BIN_SLOTSHIFT, BIN_SLOTSIZE, BSHIFT, const_binoffsets, const_bx_1, const_by_1, const_bz_1, const_cutoff, const_extra, const_hx, const_hy, const_hz, const_max_energy, const_num_binoffsets, const_num_extras, const_probevdwparms, const_vdwparms, const_x0, const_y0, const_z0, DO_ONE_PLANE, n, NTHREADSPERBLOCK, and NTPBSHIFT.

__global__ void cuda_occupancy_monoatom float *    map,
const int *    excl,
const flint   bin_zero,
int    nbx,
int    nby,
int    mzblocks,
int    mzblockoffset
[static]
 

Definition at line 495 of file CUDAVolMapCreateILS.cu.

References BIN_SHIFT, BIN_SIZE, BIN_SLOTSHIFT, BIN_SLOTSIZE, BSHIFT, const_binoffsets, const_bx_1, const_by_1, const_bz_1, const_cutoff, const_extra, const_hx, const_hy, const_hz, const_max_energy, const_num_binoffsets, const_num_extras, const_probevdwparms, const_vdwparms, const_x0, const_y0, const_z0, DO_ONE_PLANE, n, NTHREADSPERBLOCK, and NTPBSHIFT.

__global__ void cuda_occupancy_multiatom float *    map,
const int *    excl,
const flint   bin_zero,
int    nbx,
int    nby,
int    mzblocks,
int    mzblockoffset
[static]
 

Definition at line 667 of file CUDAVolMapCreateILS.cu.

References BIN_SHIFT, BIN_SIZE, BIN_SLOTSHIFT, BIN_SLOTSIZE, BSHIFT, conf, const_binoffsets, const_bx_1, const_by_1, const_bz_1, const_conformers, const_cutoff, const_extra, const_hx, const_hy, const_hz, const_inv_numconf, const_min_occupancy, const_num_binoffsets, const_num_conformers, const_num_extras, const_num_probes, const_probevdwparms, const_vdwparms, const_x0, const_y0, const_z0, DO_ONE_PLANE, MAX_ALLOWABLE_ENERGY, MAX_PROBES, n, NCONFPERLOOP, NTHREADSPERBLOCK, NTPB_TIMES_NCPL, NTPBSHIFT, and PADMASK.

void* cuda_occupancy_thread void *    voidparms [static]
 

Definition at line 1036 of file CUDAVolMapCreateILS.cu.

References occthrparms_t::bin, BIN_SIZE, BIN_SLOTSIZE, occthrparms_t::bin_zero, occthrparms_t::binoffsets, BSHIFT, occthrparms_t::bx_1, occthrparms_t::by_1, occthrparms_t::bz_1, occthrparms_t::conformers, const_binoffsets, const_bx_1, const_by_1, const_bz_1, const_conformers, const_cutoff, const_excloffsets, const_extra, const_hx, const_hy, const_hz, const_inv_numconf, const_max_energy, const_min_excldist, const_min_occupancy, const_num_binoffsets, const_num_conformers, const_num_extras, const_num_probes, const_probevdwparms, const_vdwparms, const_x0, const_y0, const_z0, CUERR, occthrparms_t::cutoff, occthrparms_t::errcode, occthrparms_t::extra, occthrparms_t::hx, occthrparms_t::hy, occthrparms_t::hz, occthrparms_t::map, MAX_BINOFFSETS, MAX_CONFORMERS, occthrparms_t::max_energy, MAX_EXTRAS, MAX_PROBES, MAX_THREADBLOCKS, MAX_VDWPARMS, occthrparms_t::min_excldist, occthrparms_t::mx, occthrparms_t::my, occthrparms_t::mz, n, occthrparms_t::nbx, occthrparms_t::nby, occthrparms_t::nbz, NULL, occthrparms_t::num_binoffsets, occthrparms_t::num_conformers, occthrparms_t::num_extras, occthrparms_t::num_probes, occthrparms_t::num_vdwparms, PADMASK, occthrparms_t::probevdwparms, THBLEN, occthrparms_t::vdwparms, vmd_cuda_num_devices, VMDCUDA_ERR_NONE, wkf_timer_create, wkf_timer_destroy, wkf_timer_start, wkf_timer_timenow, wkf_timerhandle, occthrparms_t::x0, occthrparms_t::y0, and occthrparms_t::z0.

Referenced by vmd_cuda_evaluate_occupancy_map.

int vmd_cuda_evaluate_occupancy_map int    mx,
int    my,
int    mz,
float *    map,
float    max_energy,
float    cutoff,
float    hx,
float    hy,
float    hz,
float    x0,
float    y0,
float    z0,
float    bx_1,
float    by_1,
float    bz_1,
int    nbx,
int    nby,
int    nbz,
const float *    bin,
const float *    bin_zero,
int    num_binoffsets,
const char *    binoffsets,
int    num_extras,
const float *    extra,
int    num_vdwparms,
const float *    vdwparms,
int    num_probes,
const float *    probevdwparms,
int    num_conformers,
const float *    conformers
 

Definition at line 1601 of file CUDAVolMapCreateILS.cu.

References occthrparms_t::bin, bin, occthrparms_t::bin_zero, occthrparms_t::binoffsets, occthrparms_t::bx_1, occthrparms_t::by_1, occthrparms_t::bz_1, occthrparms_t::conformers, cuda_occupancy_thread, occthrparms_t::cutoff, occthrparms_t::errcode, occthrparms_t::extra, occthrparms_t::hx, occthrparms_t::hy, occthrparms_t::hz, occthrparms_t::map, occthrparms_t::max_energy, occthrparms_t::min_excldist, occthrparms_t::mx, occthrparms_t::my, occthrparms_t::mz, occthrparms_t::nbx, occthrparms_t::nby, occthrparms_t::nbz, occthrparms_t::num_binoffsets, occthrparms_t::num_conformers, occthrparms_t::num_extras, occthrparms_t::num_probes, occthrparms_t::num_vdwparms, occthrparms_t::probevdwparms, occthrparms_t::vdwparms, occthrparms_t::x0, occthrparms_t::y0, and occthrparms_t::z0.


Variable Documentation

__constant__ int const_binoffsets[MAX_BINOFFSETS] [static]
 

Definition at line 161 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_bx_1 [static]
 

Definition at line 141 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_by_1 [static]
 

Definition at line 141 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_bz_1 [static]
 

Definition at line 141 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_conformers[3*MAX_PROBES*MAX_CONFORMERS] [static]
 

Definition at line 173 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_cutoff [static]
 

Definition at line 137 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ int const_excloffsets[MAX_EXCLOFFSETS] [static]
 

Definition at line 165 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

__constant__ flint const_extra[BIN_SLOTSIZE * MAX_EXTRAS] [static]
 

Definition at line 157 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_hx [static]
 

Definition at line 139 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_hy [static]
 

Definition at line 139 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_hz [static]
 

Definition at line 139 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_inv_numconf [static]
 

Definition at line 143 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_max_energy [static]
 

Definition at line 135 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, and cuda_occupancy_thread.

__constant__ float const_min_excldist [static]
 

Definition at line 138 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_thread.

__constant__ float const_min_occupancy [static]
 

Definition at line 136 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ int const_num_binoffsets [static]
 

Definition at line 145 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ int const_num_conformers [static]
 

Definition at line 148 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ int const_num_extras [static]
 

Definition at line 146 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ int const_num_probes [static]
 

Definition at line 147 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_probevdwparms[2 * MAX_PROBES] [static]
 

Definition at line 154 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_vdwparms[2 * MAX_VDWPARMS] [static]
 

Definition at line 151 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_x0 [static]
 

Definition at line 140 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_y0 [static]
 

Definition at line 140 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.

__constant__ float const_z0 [static]
 

Definition at line 140 of file CUDAVolMapCreateILS.cu.

Referenced by cuda_find_energy_exclusions, cuda_occupancy_monoatom, cuda_occupancy_multiatom, and cuda_occupancy_thread.


Generated on Fri Nov 8 02:45:58 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002