Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F69602635
gb_gpu_memory.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Jul 2, 14:48
Size
2 KB
Mime Type
text/x-c++
Expires
Thu, Jul 4, 14:48 (2 d)
Engine
blob
Format
Raw Data
Handle
18728980
Attached To
rLAMMPS lammps
gb_gpu_memory.h
View Options
/* ----------------------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
http://lammps.sandia.gov, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing authors: Mike Brown (SNL), wmbrown@sandia.gov
Peng Wang (Nvidia), penwang@nvidia.com
Paul Crozier (SNL), pscrozi@sandia.gov
------------------------------------------------------------------------- */
#ifndef GB_GPU_MEMORY_H
#define GB_GPU_MEMORY_H
#define MAX_GPU_THREADS 4
#include "lj_gpu_memory.h"
enum
{
SPHERE_SPHERE
,
SPHERE_ELLIPSE
,
ELLIPSE_SPHERE
,
ELLIPSE_ELLIPSE
};
template
<
class
numtyp
,
class
acctyp
>
class
GB_GPU_Memory
:
public
LJ_GPU_Memory
<
numtyp
,
acctyp
>
{
public:
GB_GPU_Memory
();
~
GB_GPU_Memory
();
bool
init
(
const
int
ij_size
,
const
int
ntypes
,
const
double
gamma
,
const
double
upsilon
,
const
double
mu
,
double
**
host_shape
,
double
**
host_well
,
double
**
host_cutsq
,
double
**
host_sigma
,
double
**
host_epsilon
,
double
*
host_lshape
,
int
**
h_form
,
double
**
host_lj1
,
double
**
host_lj2
,
double
**
host_lj3
,
double
**
host_lj4
,
double
**
host_offset
,
double
*
host_special_lj
,
const
int
max_nbors
,
const
int
nlocal
,
const
int
nall
,
const
bool
force_d
,
const
int
me
);
void
resize_atom
(
const
int
nall
,
bool
&
success
);
void
resize_local
(
const
int
nlocal
,
const
int
max_nbors
,
bool
&
success
);
void
clear
();
double
host_memory_usage
();
// ---------------------------- DATA ----------------------------
// ilist with particles sorted by type
NVC_HostI
host_olist
;
// --------------- Const Data for Atoms
NVC_ConstMatT
shape
,
well
;
NVC_ConstMatI
form
;
NVC_VecT
lshape
,
gamma_upsilon_mu
;
// --------------- Timing Stuff
NVCTimer
time_kernel
,
time_gayberne
,
time_kernel2
,
time_gayberne2
;
// True if we want to use fast GB-sphere or sphere-sphere calculations
bool
multiple_forms
;
int
**
host_form
;
int
last_ellipse
;
int
_max_nbors
;
private:
};
#endif
Event Timeline
Log In to Comment