#include <MultiGPUMapper.h>
|  | 
|  | 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_s * | getSegmentDescriptor (int gpu) | 
| size_t | get_global_size () | 
| void | record_execution_cost (int, int) | 
| bool | rebalance () | 
| bool | numa_bind_thread (int) | 
| virtual dim3 | get_global_dim (int gpu)=0 | 
| virtual dim3 | get_local_dim (int gpu)=0 | 
| virtual int3 | get_global_offset (int gpu)=0 | 
| virtual size_t | get_local_size (int gpu)=0 | 
| virtual size_t | get_authority_size (int gpu)=0 | 
| virtual ssize_t | get_global_input_offset (int gpu)=0 | 
| virtual size_t | get_global_output_offset (int gpu)=0 | 
| virtual size_t | get_authority_offset (int gpu)=0 | 
| virtual void | stage_in (int gpu, void *dptr, void *hptr)=0 | 
| virtual void | stage_in_sites (int gpu, void *dptr, void *hptr)=0 | 
| virtual void | stage_out (int gpu, void *hptr, void *dptr)=0 | 
| virtual void | publish_state (int gpu, int timestamp, cudaStream_t top, cudaStream_t bot, void *dptr=NULL)=0 | 
| virtual void | refresh (int gpu, void *dptr, int timestamp)=0 | 
| virtual void | schedule_send (int gpu, void *dptr, int timestamp, int neighbor, cudaStream_t stream)=0 | 
| virtual void | schedule_recv (int gpu, void *dptr, int timestamp, int neighbor, cudaStream_t stream)=0 | 
| virtual int | map_index_to_gpu (size_t index)=0 | 
| virtual void | initialize_gpu (int gpu) | 
| virtual bool | determine_load_balance ()=0 | 
◆ MultiGPUMapper()
      
        
          | MultiGPUMapper::MultiGPUMapper | ( | dim3 | ldim, | 
        
          |  |  | size_t | cellsize, | 
        
          |  |  | int | apron, | 
        
          |  |  | int | overlap, | 
        
          |  |  | int | num_gpus, | 
        
          |  |  | int * | devices, | 
        
          |  |  | int | pages ) | 
      
 
 
◆ ~MultiGPUMapper()
  
  | 
        
          | virtual MultiGPUMapper::~MultiGPUMapper | ( |  | ) |  |  | virtual | 
 
 
◆ build_descriptor()
  
  | 
        
          | void MultiGPUMapper::build_descriptor | ( | int | gpu, |  
          |  |  | dim3 | ldim, |  
          |  |  | int3 | goffset, |  
          |  |  | dim3 | active, |  
          |  |  | dim3 | loffset ) |  | protected | 
 
 
◆ compute_balances()
  
  | 
        
          | void MultiGPUMapper::compute_balances | ( |  | ) |  |  | protected | 
 
 
◆ determine_load_balance()
  
  | 
        
          | virtual bool MultiGPUMapper::determine_load_balance | ( |  | ) |  |  | pure virtual | 
 
 
◆ enable_peer_access()
  
  | 
        
          | bool MultiGPUMapper::enable_peer_access | ( | int | src, |  
          |  |  | int | dst ) |  | protected | 
 
 
◆ get_affinity()
      
        
          | int MultiGPUMapper::get_affinity | ( |  | ) |  | 
      
 
 
◆ get_apron()
      
        
          | int MultiGPUMapper::get_apron | ( |  | ) |  | 
      
 
 
◆ get_authority_offset()
  
  | 
        
          | virtual size_t MultiGPUMapper::get_authority_offset | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_authority_size()
  
  | 
        
          | virtual size_t MultiGPUMapper::get_authority_size | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_global_dim()
  
  | 
        
          | virtual dim3 MultiGPUMapper::get_global_dim | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_global_input_offset()
  
  | 
        
          | virtual ssize_t MultiGPUMapper::get_global_input_offset | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_global_offset()
  
  | 
        
          | virtual int3 MultiGPUMapper::get_global_offset | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_global_output_offset()
  
  | 
        
          | virtual size_t MultiGPUMapper::get_global_output_offset | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_global_size()
      
        
          | size_t MultiGPUMapper::get_global_size | ( |  | ) |  | 
      
 
 
◆ get_lattice_dim()
      
        
          | dim3 MultiGPUMapper::get_lattice_dim | ( |  | ) |  | 
      
 
 
◆ get_local_dim()
  
  | 
        
          | virtual dim3 MultiGPUMapper::get_local_dim | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_local_size()
  
  | 
        
          | virtual size_t MultiGPUMapper::get_local_size | ( | int | gpu | ) |  |  | pure virtual | 
 
 
◆ get_num_gpus()
      
        
          | int MultiGPUMapper::get_num_gpus | ( |  | ) |  | 
      
 
 
◆ get_overlap()
      
        
          | int MultiGPUMapper::get_overlap | ( |  | ) |  | 
      
 
 
◆ getSegmentDescriptor()
◆ initialize()
  
  | 
        
          | virtual void MultiGPUMapper::initialize | ( |  | ) |  |  | protectedpure virtual | 
 
 
◆ initialize_gpu()
  
  | 
        
          | virtual void MultiGPUMapper::initialize_gpu | ( | int | gpu | ) |  |  | virtual | 
 
 
◆ map_index_to_gpu()
  
  | 
        
          | virtual int MultiGPUMapper::map_index_to_gpu | ( | size_t | index | ) |  |  | pure virtual | 
 
 
◆ numa_bind_thread()
      
        
          | bool MultiGPUMapper::numa_bind_thread | ( | int |  | ) |  | 
      
 
 
◆ publish_state()
  
  | 
        
          | virtual void MultiGPUMapper::publish_state | ( | int | gpu, |  
          |  |  | int | timestamp, |  
          |  |  | cudaStream_t | top, |  
          |  |  | cudaStream_t | bot, |  
          |  |  | void * | dptr = NULL ) |  | pure virtual | 
 
 
◆ rebalance()
      
        
          | bool MultiGPUMapper::rebalance | ( |  | ) |  | 
      
 
 
◆ record_execution_cost()
      
        
          | void MultiGPUMapper::record_execution_cost | ( | int | , | 
        
          |  |  | int | ) | 
      
 
 
◆ refresh()
  
  | 
        
          | virtual void MultiGPUMapper::refresh | ( | int | gpu, |  
          |  |  | void * | dptr, |  
          |  |  | int | timestamp ) |  | pure virtual | 
 
 
◆ schedule_recv()
  
  | 
        
          | virtual void MultiGPUMapper::schedule_recv | ( | int | gpu, |  
          |  |  | void * | dptr, |  
          |  |  | int | timestamp, |  
          |  |  | int | neighbor, |  
          |  |  | cudaStream_t | stream ) |  | pure virtual | 
 
 
◆ schedule_send()
  
  | 
        
          | virtual void MultiGPUMapper::schedule_send | ( | int | gpu, |  
          |  |  | void * | dptr, |  
          |  |  | int | timestamp, |  
          |  |  | int | neighbor, |  
          |  |  | cudaStream_t | stream ) |  | pure virtual | 
 
 
◆ set_affinity()
      
        
          | void MultiGPUMapper::set_affinity | ( | int |  | ) |  | 
      
 
 
◆ stage_in()
  
  | 
        
          | virtual void MultiGPUMapper::stage_in | ( | int | gpu, |  
          |  |  | void * | dptr, |  
          |  |  | void * | hptr ) |  | pure virtual | 
 
 
◆ stage_in_sites()
  
  | 
        
          | virtual void MultiGPUMapper::stage_in_sites | ( | int | gpu, |  
          |  |  | void * | dptr, |  
          |  |  | void * | hptr ) |  | pure virtual | 
 
 
◆ stage_out()
  
  | 
        
          | virtual void MultiGPUMapper::stage_out | ( | int | gpu, |  
          |  |  | void * | hptr, |  
          |  |  | void * | dptr ) |  | pure virtual | 
 
 
◆ use()
      
        
          | bool MultiGPUMapper::use | ( | int | gpu | ) |  | 
      
 
 
◆ affinity
  
  | 
        
          | pthread_key_t MultiGPUMapper::affinity |  | protected | 
 
 
◆ apron
  
  | 
        
          | int MultiGPUMapper::apron |  | protected | 
 
 
◆ cellsize
  
  | 
        
          | size_t MultiGPUMapper::cellsize |  | protected | 
 
 
◆ descriptor
◆ device_id
  
  | 
        
          | int* MultiGPUMapper::device_id |  | protected | 
 
 
◆ device_memory
  
  | 
        
          | size_t* MultiGPUMapper::device_memory |  | protected | 
 
 
◆ lattice_dim
  
  | 
        
          | dim3 MultiGPUMapper::lattice_dim |  | protected | 
 
 
◆ lb_cost
  
  | 
        
          | int* MultiGPUMapper::lb_cost |  | protected | 
 
 
◆ lb_weights
  
  | 
        
          | float* MultiGPUMapper::lb_weights |  | protected | 
 
 
◆ num_gpus
  
  | 
        
          | int MultiGPUMapper::num_gpus |  | protected | 
 
 
◆ overlap
  
  | 
        
          | int MultiGPUMapper::overlap |  | protected | 
 
 
◆ pagecount
  
  | 
        
          | int MultiGPUMapper::pagecount |  | protected | 
 
 
The documentation for this class was generated from the following file: