Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

rutz::cuda_free_list_base Class Reference

#include <CUDA/cudafreelist.H>

Collaboration diagram for rutz::cuda_free_list_base:

Collaboration graph
[legend]
List of all members.

Detailed Description

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

Definition at line 49 of file cudafreelist.H.

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.

Classes

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


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.

References MAX_CUDA_DEVICES.


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, Dlist::index(), CudaDevices::malloc(), and n.

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.

References Dlist::index(), and n.

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.

References i.

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.

References CudaDevices::free(), and n.


The documentation for this class was generated from the following files:
Generated on Mon Nov 23 15:57:23 2009 for iLab Neuromorphic Vision Toolkit by  doxygen 1.4.4