Lift
Library of parallel computing primitives for GPUs and multi-core CPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
lift Namespace Reference

Namespaces

 __internal
 
 lift
 
 x86_64
 

Classes

struct  atomics
 
struct  backend_policy
 
struct  backend_policy< cuda >
 
struct  backend_policy< host >
 
struct  allocation
 
struct  cuda_allocator
 
struct  default_memory_allocator
 
struct  default_memory_allocator< cuda >
 
struct  default_memory_allocator< host >
 
struct  __ldg_loader
 
struct  __ldg_loader< host, T >
 
struct  __ldg_loader< cuda, T >
 
struct  ldg_pointer
 
struct  local_memory
 
struct  malloc_allocator
 
struct  persistent_allocation
 
struct  tagged_pointer_base
 Base class for tagged memory pointer implementation. More...
 
struct  pointer
 Lift's tagged pointer class. More...
 
struct  pointer< host, T, _index_type >
 CPU version of pointer. More...
 
struct  pointer< cuda, T, _index_type >
 
struct  scoped_allocation
 
struct  scoped_free
 
struct  strided_iterator
 
struct  thrust_iterator_adaptor
 
struct  thrust_pointer_adaptor
 
struct  parallel
 Dispatch structure for parallel primitives. More...
 
struct  compute_device
 
struct  cuda_device_config
 
struct  compute_device_cuda
 
struct  cpu_cache
 
struct  cpu_config
 
struct  compute_device_host
 
struct  test
 The test object interface. More...
 
struct  standalone_test
 Wrapper for standalone tests, which consist of a single function with no arguments and no return value. More...
 
struct  timer
 
struct  timer< cuda >
 
struct  time_series
 

Typedefs

typedef uint8_t uint8
 
typedef int8_t int8
 
typedef uint16_t uint16
 
typedef int16_t int16
 
typedef uint32_t uint32
 
typedef int32_t int32
 
typedef uint64_t uint64
 
typedef int64_t int64
 

Enumerations

enum  target_system { host, cuda }
 

Functions

template<typename T >
CUDA_HOST_DEVICE uint32 binary_search (const T *data, uint32 size, const T val)
 
template<typename T >
CUDA_HOST_DEVICE uint32 lower_bound (const T *data, uint32 size, const T val)
 
template<typename InputIterator , typename Function , typename index_type >
__global__ void for_each_kernel (InputIterator input, size_t length, Function func)
 
template<typename InputIterator , typename Function >
void for_each (InputIterator input, size_t length, Function func, int2 launch_params={0, 0})
 
template<typename InputIterator , typename Function >
int2 for_each_launch_parameters (InputIterator input, size_t length, Function func)
 
template<class T >
int2 launch_parameters (T kernel, size_t elements, int dynamic_smem_size=0)
 
template<target_system system, typename T , typename I >
LIFT_HOST_DEVICE const
ldg_pointer< system, T, I > 
make_ldg_pointer (const pointer< system, T, I > p)
 
template<typename T >
static LIFT_HOST_DEVICE void swap (T &a, T &b)
 
static __device__ unsigned int lane_id (void)
 

Variables

std::vector< test * > test_list = { }
 
thread_local testcurrent_test = nullptr
 

Typedef Documentation

typedef int16_t lift::int16

Definition at line 42 of file types.h.

typedef int32_t lift::int32

Definition at line 44 of file types.h.

typedef int64_t lift::int64

Definition at line 46 of file types.h.

typedef int8_t lift::int8

Definition at line 40 of file types.h.

typedef uint16_t lift::uint16

Definition at line 41 of file types.h.

typedef uint32_t lift::uint32

Definition at line 43 of file types.h.

typedef uint64_t lift::uint64

Definition at line 45 of file types.h.

typedef uint8_t lift::uint8

Definition at line 39 of file types.h.

Enumeration Type Documentation

Enumerator
host 
cuda 

Definition at line 36 of file backends.h.

Function Documentation

template<typename T >
CUDA_HOST_DEVICE uint32 lift::binary_search ( const T *  data,
uint32  size,
const T  val 
)

Definition at line 39 of file binsearch.h.

template<typename InputIterator , typename Function >
void lift::for_each ( InputIterator  input,
size_t  length,
Function  func,
int2  launch_params = { 0, 0 } 
)

Definition at line 53 of file for_each.h.

template<typename InputIterator , typename Function , typename index_type >
__global__ void lift::for_each_kernel ( InputIterator  input,
size_t  length,
Function  func 
)

Definition at line 40 of file for_each.h.

template<typename InputIterator , typename Function >
int2 lift::for_each_launch_parameters ( InputIterator  input,
size_t  length,
Function  func 
)

Definition at line 101 of file for_each.h.

static __device__ unsigned int lift::lane_id ( void  )
inlinestatic

Definition at line 47 of file util.h.

template<class T >
int2 lift::launch_parameters ( kernel,
size_t  elements,
int  dynamic_smem_size = 0 
)

Definition at line 39 of file launch_parameters.h.

template<typename T >
CUDA_HOST_DEVICE uint32 lift::lower_bound ( const T *  data,
uint32  size,
const T  val 
)

Definition at line 75 of file binsearch.h.

template<target_system system, typename T , typename I >
LIFT_HOST_DEVICE const ldg_pointer<system, T, I> lift::make_ldg_pointer ( const pointer< system, T, I >  p)

Definition at line 145 of file ldg_wrapper.h.

template<typename T >
static LIFT_HOST_DEVICE void lift::swap ( T &  a,
T &  b 
)
inlinestatic

Definition at line 38 of file util.h.

Variable Documentation

thread_local test * lift::current_test = nullptr

Definition at line 41 of file entrypoint.cu.

std::vector< test * > lift::test_list = { }

Definition at line 44 of file entrypoint.cu.