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

CUDAVolCPotential.cu File Reference

CUDA accelerated coulombic potential grid calculation. More...

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

Go to the source code of this file.


Compounds

struct enthrparms

Defines

#define CUERR
#define MAXATOMS 4000
#define UNROLLX 8
#define UNROLLY 1
#define BLOCKSIZEX 8
#define BLOCKSIZEY 8
#define BLOCKSIZE (BLOCKSIZEX*BLOCKSIZEY)
#define FLOPSPERATOMEVAL (59.0/8.0)
#define TILESIZEX BLOCKSIZEX*UNROLLX
#define TILESIZEY BLOCKSIZEY*UNROLLY
#define GPU_X_ALIGNMASK (TILESIZEX - 1)
#define GPU_Y_ALIGNMASK (TILESIZEY - 1)
#define DMABUFPADSIZE (32 * 1024)

Functions

void * cudaenergythread (void *)
__global__ void cenergy (int numatoms, float gridspacing, float *energygrid)
int copyatomstoconstbuf (const float *atoms, float *atompre, int count, float zplane)
int vmd_cuda_vol_cpotential (long int natoms, float *atoms, float *grideners, long int numplane, long int numcol, long int numpt, float gridspacing)

Variables

__constant__ float4 atominfo [MAXATOMS]

Detailed Description

CUDA accelerated coulombic potential grid calculation.

This work is described in the following papers:

"GPU Computing" John D. Owens, Mike Houston, David Luebke, Simon Green, John E. Stone, and James C. Phillips. Proceedings of the IEEE, 96:879-899, 2008. http://dx.doi.org/10.1109/JPROC.2008.917757

"Accelerating Molecular Modeling Applications with Graphics Processors" John E. Stone, James C. Phillips, Peter L. Freddolino, David J. Hardy, Leonardo G. Trabuco, and Klaus Schulten. Journal of Computational Chemistry, 28:2618-2640, 2007. http://dx.doi.org/10.1002/jcc.20829

Definition in file CUDAVolCPotential.cu.


Define Documentation

#define BLOCKSIZE (BLOCKSIZEX*BLOCKSIZEY)

Definition at line 126 of file CUDAVolCPotential.cu.

#define BLOCKSIZEX 8

Definition at line 109 of file CUDAVolCPotential.cu.

Referenced by cenergy, and cudaenergythread.

#define BLOCKSIZEY 8

Definition at line 110 of file CUDAVolCPotential.cu.

Referenced by cudaenergythread.

#define CUERR

Value:

{ 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; }}

Definition at line 60 of file CUDAVolCPotential.cu.

Referenced by cudaenergythread.

#define DMABUFPADSIZE (32 * 1024)

#define FLOPSPERATOMEVAL (59.0/8.0)

Definition at line 130 of file CUDAVolCPotential.cu.

Referenced by vmd_cuda_vol_cpotential.

#define GPU_X_ALIGNMASK (TILESIZEX - 1)

Definition at line 210 of file CUDAVolCPotential.cu.

Referenced by cudaenergythread, and vmd_cuda_vol_cpotential.

#define GPU_Y_ALIGNMASK (TILESIZEY - 1)

Definition at line 211 of file CUDAVolCPotential.cu.

Referenced by cudaenergythread, and vmd_cuda_vol_cpotential.

#define MAXATOMS 4000

Definition at line 73 of file CUDAVolCPotential.cu.

Referenced by copyatomstoconstbuf, and cudaenergythread.

#define TILESIZEX BLOCKSIZEX*UNROLLX

Definition at line 208 of file CUDAVolCPotential.cu.

#define TILESIZEY BLOCKSIZEY*UNROLLY

Definition at line 209 of file CUDAVolCPotential.cu.

#define UNROLLX 8

Definition at line 107 of file CUDAVolCPotential.cu.

Referenced by cenergy, and cudaenergythread.

#define UNROLLY 1

Definition at line 108 of file CUDAVolCPotential.cu.

Referenced by cudaenergythread.


Function Documentation

__global__ void cenergy ( int numatoms,
float gridspacing,
float * energygrid
) [static]

Definition at line 135 of file CUDAVolCPotential.cu.

References atominfo, BLOCKSIZEX, gridspacing, and UNROLLX.

int copyatomstoconstbuf ( const float * atoms,
float * atompre,
int count,
float zplane
) [static]

Definition at line 213 of file CUDAVolCPotential.cu.

References atominfo, atoms, and MAXATOMS.

void * cudaenergythread ( void * ) [static]

int vmd_cuda_vol_cpotential ( long int natoms,
float * atoms,
float * grideners,
long int numplane,
long int numcol,
long int numpt,
float gridspacing
)

Variable Documentation

__constant__ float4 atominfo[MAXATOMS] [static]

Definition at line 74 of file CUDAVolCPotential.cu.

Referenced by cenergy, and copyatomstoconstbuf.


Generated on Mon Nov 17 02:47:36 2025 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002

AltStyle によって変換されたページ (->オリジナル) /