Lift
Library of parallel computing primitives for GPUs and multi-core CPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Namespaces | Macros | Enumerations
backends.h File Reference
#include <thrust/system/tbb/vector.h>
#include <thrust/execution_policy.h>

Go to the source code of this file.

Classes

struct  lift::backend_policy< system >
 
struct  lift::backend_policy< cuda >
 
struct  lift::backend_policy< host >
 

Namespaces

 lift
 

Macros

#define __FUNC_CUDA(fun)   void *ptr_cuda = (void *)fun<lift::cuda>;
 
#define __METHOD_CUDA(base, method)   void *ptr_cuda = (void *)&base<lift::cuda>::method;
 
#define __FUNC_TBB(fun)   auto *ptr_TBB= (void *)fun<lift::host>;
 
#define __METHOD_TBB(base, method)   auto ptr_TBB = (void *)&base<lift::host>::method;
 
#define INSTANTIATE(fun)
 
#define METHOD_INSTANTIATE(base, method)
 
#define __FUNC_CUDA(fun)   void *ptr_cuda = (void *)fun<lift::cuda>;
 
#define __METHOD_CUDA(base, method)   void *ptr_cuda = (void *)&base<lift::cuda>::method;
 
#define __FUNC_TBB(fun)   auto *ptr_TBB= (void *)fun<lift::host>;
 
#define __METHOD_TBB(base, method)   auto ptr_TBB = (void *)&base<lift::host>::method;
 
#define INSTANTIATE(fun)
 
#define METHOD_INSTANTIATE(base, method)
 

Enumerations

enum  lift::target_system { lift::host, lift::cuda }
 

Macro Definition Documentation

#define __FUNC_CUDA (   fun)    void *ptr_cuda = (void *)fun<lift::cuda>;

Definition at line 89 of file local_memory.h.

#define __FUNC_CUDA (   fun)    void *ptr_cuda = (void *)fun<lift::cuda>;
#define __FUNC_TBB (   fun)    auto *ptr_TBB= (void *)fun<lift::host>;
#define __FUNC_TBB (   fun)    auto *ptr_TBB= (void *)fun<lift::host>;

Definition at line 92 of file local_memory.h.

#define __METHOD_CUDA (   base,
  method 
)    void *ptr_cuda = (void *)&base<lift::cuda>::method;

Definition at line 90 of file local_memory.h.

#define __METHOD_CUDA (   base,
  method 
)    void *ptr_cuda = (void *)&base<lift::cuda>::method;
#define __METHOD_TBB (   base,
  method 
)    auto ptr_TBB = (void *)&base<lift::host>::method;

Definition at line 93 of file local_memory.h.

#define __METHOD_TBB (   base,
  method 
)    auto ptr_TBB = (void *)&base<lift::host>::method;
#define INSTANTIATE (   fun)
Value:
namespace __ ## fun ## __instantiation { \
__FUNC_TBB(fun); \
}
#define __FUNC_CUDA(fun)
#define __FUNC_TBB(fun)
#define INSTANTIATE (   fun)
Value:
namespace __ ## fun ## __instantiation { \
__FUNC_TBB(fun); \
}
#define __FUNC_CUDA(fun)
Definition: local_memory.h:89
#define __FUNC_TBB(fun)
Definition: local_memory.h:92

Definition at line 96 of file local_memory.h.

#define METHOD_INSTANTIATE (   base,
  method 
)
Value:
namespace __ ## base ## __ ## method ## __instantiation { \
__METHOD_CUDA(base, method); \
__METHOD_TBB(base, method); \
}
#define __METHOD_TBB(base, method)
Definition: local_memory.h:93
#define __METHOD_CUDA(base, method)
Definition: local_memory.h:90

Definition at line 103 of file local_memory.h.

#define METHOD_INSTANTIATE (   base,
  method 
)
Value:
namespace __ ## base ## __ ## method ## __instantiation { \
__METHOD_CUDA(base, method); \
__METHOD_TBB(base, method); \
}
#define __METHOD_TBB(base, method)
#define __METHOD_CUDA(base, method)