VisionCpp  0.0.1
Static Public Member Functions | List of all members
visioncpp::internal::FuseExpr< LCIn, LRIn, LCT, LRT, Expr, DeviceT > Struct Template Reference

the FuseExpr when the expression type is not a terminal node (leafNode). More...

#include <fuse.hpp>

Collaboration diagram for visioncpp::internal::FuseExpr< LCIn, LRIn, LCT, LRT, Expr, DeviceT >:

Static Public Member Functions

static void fuse (Expr &expr, const DeviceT &dev)
 the fuse function for executing the given expr. More...
 

Detailed Description

template<size_t LCIn, size_t LRIn, size_t LCT, size_t LRT, typename Expr, typename DeviceT>
struct visioncpp::internal::FuseExpr< LCIn, LRIn, LCT, LRT, Expr, DeviceT >

the FuseExpr when the expression type is not a terminal node (leafNode).

The FuseExpr struct is used to generate one device kernel for the expression which is not a terminal node (leafNode).

It is used to specialise the fuse function for terminal and non-terminal nodes template parameters:

Template Parameters
LCis the column size of local memory
LRis the row size of local memory
LCTis the column size of workgroup
LRTis the row size of workgroup
Expr: the expression tree needed to be executed

Definition at line 32 of file fuse.hpp.

Member Function Documentation

◆ fuse()

template<size_t LCIn, size_t LRIn, size_t LCT, size_t LRT, typename Expr , typename DeviceT >
static void visioncpp::internal::FuseExpr< LCIn, LRIn, LCT, LRT, Expr, DeviceT >::fuse ( Expr &  expr,
const DeviceT &  dev 
)
inlinestatic

the fuse function for executing the given expr.

Parameters
expr: the expression passed to be executed on the device
dev: the selected device for executing the expression return void

LRT is the workgroup size row and is checked with LR. LR is based on LRIn. LCT is the workgroup size column checked with LC. LC is based on LCIn. The local memory size and the work group size is calculated at compile time.

Definition at line 37 of file fuse.hpp.

Referenced by visioncpp::internal::fuse().

Here is the caller graph for this function:

The documentation for this struct was generated from the following files: