rutz::cuda_free_list_base Class Reference

Un-typesafe base class for maintaining a free-list memory pool. More...

#include <CUDA/cudafreelist.H>

Collaboration diagram for rutz::cuda_free_list_base:
Collaboration graph
[legend]

List of all members.

Classes

struct  node
 Free-node class for free-list memory pools.

Public Member Functions

 cuda_free_list_base (std::size_t size_check)
 Construct an (empty) free list.
void * allocate (std::size_t bytes, int dev)
 Allocate space for a new object.
void deallocate (void *space, int dev)
 Return an object to the free list.
void release_free_nodes ()
 Release all nodes currently on the free list (e.g. to conserve memory).
int get_num_nodes (int dev)
std::map< int, int >
::const_iterator 
getDevicesBegin ()
std::map< int, int >
::const_iterator 
getDevicesEnd ()
std::size_t alloc_size () const
 Query the chunk size that this freelist is for.
std::size_t num_allocations (int dev)
 Query how many allocations have been made.

Detailed Description

Un-typesafe base class for maintaining a free-list memory pool.

Definition at line 49 of file cudafreelist.H.


Constructor & Destructor Documentation

rutz::cuda_free_list_base::cuda_free_list_base ( std::size_t  size_check  ) 

Construct an (empty) free list.

All objects from this list must be of size size_check.

Definition at line 42 of file cudafreelist.C.


Member Function Documentation

std::size_t rutz::cuda_free_list_base::alloc_size (  )  const [inline]

Query the chunk size that this freelist is for.

Definition at line 94 of file cudafreelist.H.

void * rutz::cuda_free_list_base::allocate ( std::size_t  bytes,
int  dev 
)

Allocate space for a new object.

If there are chunks available in the free list, one of those is returned; otherwise new memory is allocated with malloc() or equivalent.

Definition at line 52 of file cudafreelist.C.

References ASSERT.

void rutz::cuda_free_list_base::deallocate ( void *  space,
int  dev 
)

Return an object to the free list.

Definition at line 73 of file cudafreelist.C.

std::size_t rutz::cuda_free_list_base::num_allocations ( int  dev  )  [inline]

Query how many allocations have been made.

Definition at line 97 of file cudafreelist.H.

void rutz::cuda_free_list_base::release_free_nodes (  ) 

Release all nodes currently on the free list (e.g. to conserve memory).

Definition at line 119 of file cudafreelist.C.

Referenced by rutz::cuda_free_list< T >::release_free_nodes().


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:44:43 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3