cheshirekow  v0.1.0
mpblocks::cuda_cert::CertSet2 Class Reference

provides a convenience interface for managing a set of workspace certificates in GPU memory, and dispatching brute force CUDA searches on that point set More...

#include <mpblocks/cuda_cert/CertSet2.h>

Public Member Functions

void allocate (uint_t nV, uint_t nF, uint_t nOut)
 reallocates device storage for a certificates set of size n with nV vertices and nF faces More...
 
 CertSet2 (uint_t nV=10, uint_t nF=10, uint_t nOut=100)
 
void clear (bool clearmem=false)
 clear the database and reset input iterator More...
 
void computeGrid (uint_t obj, uint_t cert, uint_t &blocks, uint_t &threads)
 compute the grid size given the current configuration and size of the point set More...
 
void config ()
 retreives device properties of the current device, used to calculate kernel peramaters, call once after setting the cuda device and before launching any kernels More...
 
void config (int dev)
 retreives device properties of the specified device, used to calculate kernel peramaters, call once after setting the cuda device and before launching any kernels More...
 
void deallocate ()
 deallocate and zero out pointers More...
 
void f_finish ()
 finish writing the current face set More...
 
void insert_face (float f[4])
 insert a face into the face set More...
 
void insert_vertex (float v[3])
 insert a vertex into the vertex set More...
 
void v_finish ()
 finish writing the current vertex set More...
 
 ~CertSet2 ()
 

Public Attributes

uint_t m_allocF
 size of the face set allocated More...
 
uint_t m_allocV
 size of the vertex set allocated More...
 
SetDef m_Fset
 current face buffer being written More...
 
std::vector< SetDefm_Fsets
 
float * m_g_dbg
 debug output More...
 
float * m_g_inF
 kernel input buffer More...
 
float * m_g_inV
 kernel input buffer More...
 
int * m_g_out
 kernel output buffer More...
 
uint_t m_nF
 number of faces so far More...
 
uint_t m_nOut
 size of output buffer More...
 
uint_t m_nSM
 number of multiprocessors More...
 
uint_t m_nV
 number of vertices so far More...
 
uint_t m_pitchF
 row-pitch of buffers (in bytes) More...
 
uint_t m_pitchV
 row-pitch of buffers (in bytes) More...
 
uint_t m_threadsPerBlock
 maximum threads per block More...
 
SetDef m_Vset
 current vertex buffer being written More...
 
std::vector< SetDefm_Vsets
 

Detailed Description

provides a convenience interface for managing a set of workspace certificates in GPU memory, and dispatching brute force CUDA searches on that point set

Definition at line 62 of file CertSet2.h.

Constructor & Destructor Documentation

mpblocks::cuda_cert::CertSet2::CertSet2 ( uint_t  nV = 10,
uint_t  nF = 10,
uint_t  nOut = 100 
)
mpblocks::cuda_cert::CertSet2::~CertSet2 ( )

Member Function Documentation

void mpblocks::cuda_cert::CertSet2::allocate ( uint_t  nV,
uint_t  nF,
uint_t  nOut 
)

reallocates device storage for a certificates set of size n with nV vertices and nF faces

void mpblocks::cuda_cert::CertSet2::clear ( bool  clearmem = false)

clear the database and reset input iterator

void mpblocks::cuda_cert::CertSet2::computeGrid ( uint_t  obj,
uint_t  cert,
uint_t blocks,
uint_t threads 
)

compute the grid size given the current configuration and size of the point set

void mpblocks::cuda_cert::CertSet2::config ( )

retreives device properties of the current device, used to calculate kernel peramaters, call once after setting the cuda device and before launching any kernels

void mpblocks::cuda_cert::CertSet2::config ( int  dev)

retreives device properties of the specified device, used to calculate kernel peramaters, call once after setting the cuda device and before launching any kernels

void mpblocks::cuda_cert::CertSet2::deallocate ( )

deallocate and zero out pointers

void mpblocks::cuda_cert::CertSet2::f_finish ( )

finish writing the current face set

void mpblocks::cuda_cert::CertSet2::insert_face ( float  f[4])

insert a face into the face set

void mpblocks::cuda_cert::CertSet2::insert_vertex ( float  v[3])

insert a vertex into the vertex set

void mpblocks::cuda_cert::CertSet2::v_finish ( )

finish writing the current vertex set

Member Data Documentation

uint_t mpblocks::cuda_cert::CertSet2::m_allocF

size of the face set allocated

Definition at line 66 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_allocV

size of the vertex set allocated

Definition at line 65 of file CertSet2.h.

SetDef mpblocks::cuda_cert::CertSet2::m_Fset

current face buffer being written

Definition at line 85 of file CertSet2.h.

std::vector<SetDef> mpblocks::cuda_cert::CertSet2::m_Fsets

Definition at line 88 of file CertSet2.h.

float* mpblocks::cuda_cert::CertSet2::m_g_dbg

debug output

Definition at line 79 of file CertSet2.h.

float* mpblocks::cuda_cert::CertSet2::m_g_inF

kernel input buffer

Definition at line 75 of file CertSet2.h.

float* mpblocks::cuda_cert::CertSet2::m_g_inV

kernel input buffer

Definition at line 74 of file CertSet2.h.

int* mpblocks::cuda_cert::CertSet2::m_g_out

kernel output buffer

Definition at line 76 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_nF

number of faces so far

Definition at line 69 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_nOut

size of output buffer

Definition at line 77 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_nSM

number of multiprocessors

Definition at line 82 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_nV

number of vertices so far

Definition at line 68 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_pitchF

row-pitch of buffers (in bytes)

Definition at line 72 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_pitchV

row-pitch of buffers (in bytes)

Definition at line 71 of file CertSet2.h.

uint_t mpblocks::cuda_cert::CertSet2::m_threadsPerBlock

maximum threads per block

Definition at line 81 of file CertSet2.h.

SetDef mpblocks::cuda_cert::CertSet2::m_Vset

current vertex buffer being written

Definition at line 84 of file CertSet2.h.

std::vector<SetDef> mpblocks::cuda_cert::CertSet2::m_Vsets

Definition at line 87 of file CertSet2.h.


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