Lattice Microbes 2.5
This is for whole cell modeling
Loading...
Searching...
No Matches
ZDivMultiGPUMapper Class Reference

#include <ZDivMultiGPUMapper.h>

Inheritance diagram for ZDivMultiGPUMapper:
[legend]
Collaboration diagram for ZDivMultiGPUMapper:
[legend]

Public Member Functions

 ZDivMultiGPUMapper (dim3, size_t, int, int, int, int *gl=NULL, bool pz=false, int pages=1)
 ZDivMultiGPUMapper (int x, int y, int z, size_t, int, int, int, int *gl=NULL, bool pz=false, int pages=1)
 ~ZDivMultiGPUMapper ()
virtual void initialize_gpu (int gpu)
dim3 get_global_dim (int gpu)
dim3 get_local_dim (int gpu)
int3 get_global_offset (int gpu)
size_t get_local_size (int gpu)
size_t get_authority_size (int gpu)
ssize_t get_global_input_offset (int gpu)
size_t get_global_output_offset (int gpu)
size_t get_authority_offset (int gpu)
void stage_in (int gpu, void *dptr, void *hptr)
void stage_in_sites (int gpu, void *dptr, void *hptr)
void stage_out (int gpu, void *hptr, void *dptr)
void publish_state (int gpu, int key, cudaStream_t top, cudaStream_t bot, void *dptr=NULL)
void refresh (int gpu, void *dptr, int key)
virtual void schedule_send (int gpu, void *dptr, int timestamp, int neighbor, cudaStream_t stream)
virtual void schedule_recv (int gpu, void *dptr, int timestamp, int neighbor, cudaStream_t stream)
int map_index_to_gpu (size_t index)
gpu_infogetinfo (int gpu)
unsigned int * gettbuf (int gpu, int key, int neighbor)
unsigned int * getrbuf (int gpu, int key, int neighbor)
Public Member Functions inherited from MultiGPUMapper
 MultiGPUMapper (dim3 ldim, size_t cellsize, int apron, int overlap, int num_gpus, int *devices, int pages)
virtual ~MultiGPUMapper ()
int get_num_gpus ()
bool use (int gpu)
int get_overlap ()
int get_apron ()
void set_affinity (int)
int get_affinity ()
dim3 get_lattice_dim ()
SegmentDescriptor_sgetSegmentDescriptor (int gpu)
size_t get_global_size ()
void record_execution_cost (int, int)
bool rebalance ()
bool numa_bind_thread (int)

Protected Member Functions

virtual void initialize ()
void stage_in_real (int gpu, void *dptr, void *hptr, unsigned int element_size)
void stage_out_real (int gpu, void *hptr, void *dptr)
bool determine_load_balance ()
int alter_chunks (int gpu, int count)
Protected Member Functions inherited from MultiGPUMapper
bool enable_peer_access (int src, int dst)
void build_descriptor (int gpu, dim3 ldim, int3 goffset, dim3 active, dim3 loffset)
void compute_balances ()

Additional Inherited Members

Protected Attributes inherited from MultiGPUMapper
int num_gpus
int * device_id
dim3 lattice_dim
int overlap
size_t cellsize
pthread_key_t affinity
int apron
SegmentDescriptor_s ** descriptor
float * lb_weights
int * lb_cost
size_t * device_memory
int pagecount

Constructor & Destructor Documentation

◆ ZDivMultiGPUMapper() [1/2]

ZDivMultiGPUMapper::ZDivMultiGPUMapper ( dim3 ,
size_t ,
int ,
int ,
int ,
int * gl = NULL,
bool pz = false,
int pages = 1 )

◆ ZDivMultiGPUMapper() [2/2]

ZDivMultiGPUMapper::ZDivMultiGPUMapper ( int x,
int y,
int z,
size_t ,
int ,
int ,
int ,
int * gl = NULL,
bool pz = false,
int pages = 1 )

◆ ~ZDivMultiGPUMapper()

ZDivMultiGPUMapper::~ZDivMultiGPUMapper ( )

Member Function Documentation

◆ alter_chunks()

int ZDivMultiGPUMapper::alter_chunks ( int gpu,
int count )
protected

◆ determine_load_balance()

bool ZDivMultiGPUMapper::determine_load_balance ( )
protectedvirtual

Implements MultiGPUMapper.

◆ get_authority_offset()

size_t ZDivMultiGPUMapper::get_authority_offset ( int gpu)
virtual

Implements MultiGPUMapper.

◆ get_authority_size()

size_t ZDivMultiGPUMapper::get_authority_size ( int gpu)
virtual

Implements MultiGPUMapper.

◆ get_global_dim()

dim3 ZDivMultiGPUMapper::get_global_dim ( int gpu)
virtual

Implements MultiGPUMapper.

◆ get_global_input_offset()

ssize_t ZDivMultiGPUMapper::get_global_input_offset ( int gpu)
virtual

Implements MultiGPUMapper.

◆ get_global_offset()

int3 ZDivMultiGPUMapper::get_global_offset ( int gpu)
virtual

Implements MultiGPUMapper.

◆ get_global_output_offset()

size_t ZDivMultiGPUMapper::get_global_output_offset ( int gpu)
virtual

Implements MultiGPUMapper.

◆ get_local_dim()

dim3 ZDivMultiGPUMapper::get_local_dim ( int gpu)
virtual

Implements MultiGPUMapper.

◆ get_local_size()

size_t ZDivMultiGPUMapper::get_local_size ( int gpu)
virtual

Implements MultiGPUMapper.

◆ getinfo()

gpu_info * ZDivMultiGPUMapper::getinfo ( int gpu)

◆ getrbuf()

unsigned int * ZDivMultiGPUMapper::getrbuf ( int gpu,
int key,
int neighbor )

◆ gettbuf()

unsigned int * ZDivMultiGPUMapper::gettbuf ( int gpu,
int key,
int neighbor )

◆ initialize()

virtual void ZDivMultiGPUMapper::initialize ( )
protectedvirtual

Implements MultiGPUMapper.

◆ initialize_gpu()

virtual void ZDivMultiGPUMapper::initialize_gpu ( int gpu)
virtual

Reimplemented from MultiGPUMapper.

◆ map_index_to_gpu()

int ZDivMultiGPUMapper::map_index_to_gpu ( size_t index)
virtual

Implements MultiGPUMapper.

◆ publish_state()

void ZDivMultiGPUMapper::publish_state ( int gpu,
int key,
cudaStream_t top,
cudaStream_t bot,
void * dptr = NULL )
virtual

Implements MultiGPUMapper.

◆ refresh()

void ZDivMultiGPUMapper::refresh ( int gpu,
void * dptr,
int key )
virtual

Implements MultiGPUMapper.

◆ schedule_recv()

virtual void ZDivMultiGPUMapper::schedule_recv ( int gpu,
void * dptr,
int timestamp,
int neighbor,
cudaStream_t stream )
virtual

Implements MultiGPUMapper.

◆ schedule_send()

virtual void ZDivMultiGPUMapper::schedule_send ( int gpu,
void * dptr,
int timestamp,
int neighbor,
cudaStream_t stream )
virtual

Implements MultiGPUMapper.

◆ stage_in()

void ZDivMultiGPUMapper::stage_in ( int gpu,
void * dptr,
void * hptr )
virtual

Implements MultiGPUMapper.

◆ stage_in_real()

void ZDivMultiGPUMapper::stage_in_real ( int gpu,
void * dptr,
void * hptr,
unsigned int element_size )
protected

◆ stage_in_sites()

void ZDivMultiGPUMapper::stage_in_sites ( int gpu,
void * dptr,
void * hptr )
virtual

Implements MultiGPUMapper.

◆ stage_out()

void ZDivMultiGPUMapper::stage_out ( int gpu,
void * hptr,
void * dptr )
virtual

Implements MultiGPUMapper.

◆ stage_out_real()

void ZDivMultiGPUMapper::stage_out_real ( int gpu,
void * hptr,
void * dptr )
protected

The documentation for this class was generated from the following file: