00001 /***************************************************************************
00002 *cr
00003 *cr (C) Copyright 1995-2008 The Board of Trustees of the
00004 *cr University of Illinois
00005 *cr All Rights Reserved
00006 *cr
00007 ***************************************************************************/
00008
00009 /***************************************************************************
00010 * RCS INFORMATION:
00011 *
00012 * $RCSfile: CUDAKernels.h,v $
00013 * $Author: johns $ $Locker: $ $State: Exp $
00014 * $Revision: 1.10 $ $Date: 2008/05/06 06:19:54 $
00015 *
00016 ***************************************************************************
00017 * DESCRIPTION:
00018 * Wrapper for CUDA kernels and utility functions
00019 * used by the CUDAAccel C++ class
00020 ***************************************************************************/
00021 #ifndef CUDAKERNELS_H
00022 #define CUDAKERNELS_H
00023
00024 #if defined(__cplusplus)
00025 extern "C" {
00026 #endif
00027
00028 /*
00029 * number of CUDA devices available
00030 */
00031 int vmd_cuda_num_devices(int *numdev);
00032
00033 /*
00034 * retrieve device properties
00035 */
00036 int vmd_cuda_device_props(int dev, char *name, int namelen,
00037 int *revmajor, int *revminor,
00038 unsigned long *memb, int *clockratekhz,
00039 int *smcount, int *overlap);
00040
00041
00042 /*
00043 * All available CUDA kernels
00044 */
00045 int vmd_cuda_madd_gflops(int numdevs, int *devlist, double *gflops);
00046
00047 int vmd_cuda_bus_bw(int numdevs, int *devlist,
00048 double *hdmbsec, double *phdmbsec,
00049 double *dhmbsec, double *pdhmbsec);
00050
00051 int vmd_cuda_vol_cpotential(long int natoms, float* atoms, float* grideners,
00052 long int numplane, long int numcol, long int numpt,
00053 float gridspacing);
00054
00055 #if defined(__cplusplus)
00056 }
00057 #endif
00058
00059 #endif
00060
1.2.14 written by Dimitri van Heesch,
© 1997-2002