Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F75773445
neighbor_shared.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
Sun, Aug 4, 04:36
Size
1 KB
Mime Type
text/x-c
Expires
Tue, Aug 6, 04:36 (2 d)
Engine
blob
Format
Raw Data
Handle
19608631
Attached To
rLAMMPS lammps
neighbor_shared.h
View Options
/***************************************************************************
neighbor_shared.h
-------------------
W. Michael Brown (ORNL)
Class for management of data shared by all neighbor lists
__________________________________________________________________________
This file is part of the LAMMPS Accelerator Library (LAMMPS_AL)
__________________________________________________________________________
begin :
email : brownw@ornl.gov
***************************************************************************/
#ifndef LAL_NEIGHBOR_SHARED_H
#define LAL_NEIGHBOR_SHARED_H
#ifdef USE_OPENCL
#include "geryon/ocl_kernel.h"
#include "geryon/ocl_texture.h"
using
namespace
ucl_opencl
;
#else
#include "geryon/nvd_kernel.h"
#include "geryon/nvd_texture.h"
using
namespace
ucl_cudadr
;
#endif
class
NeighborShared
{
public:
NeighborShared
()
:
_compiled
(
false
)
{}
~
NeighborShared
()
{
clear
();
}
/// Free all memory on host and device
void
clear
();
/// Texture for cached position/type access with CUDA
UCL_Texture
neigh_tex
;
/// Compile kernels for neighbor lists
void
compile_kernels
(
UCL_Device
&
dev
,
const
bool
gpu_nbor
);
// ----------------------------- Kernels
UCL_Program
*
nbor_program
,
*
build_program
;
UCL_Kernel
k_nbor
,
k_cell_id
,
k_cell_counts
,
k_build_nbor
;
UCL_Kernel
k_transpose
,
k_special
;
private:
bool
_compiled
,
_gpu_nbor
;
};
#endif
Event Timeline
Log In to Comment