AndroMeta  2.0.0
Public Member Functions | Static Public Member Functions
Meta::MPLKernel Class Reference

Compile and execute an MPL kernel on the GPU. More...

#include <MPLKernel.h>

List of all members.

Public Member Functions

 MPLKernel ()
 ~MPLKernel ()
template<typename T >
void compile (MVector< T > &ov, mnode n)
template<typename T >
void compile (std::vector< T > &ov, mnode n)
void compile (MPLObject **ov, size_t count, mnode n)
void start ()
void await ()
void run ()

Static Public Member Functions

static void setWorkSize (size_t workSize)

Detailed Description

Compile and execute an MPL kernel on the GPU.


Constructor & Destructor Documentation

Constructor.

Destructor.


Member Function Documentation

Await completion of a kernel that was previously started by calling start().

template<typename T >
void Meta::MPLKernel::compile ( MVector< T > &  ov,
mnode  n 
) [inline]

Compile the specified objects and code in n for execution on the GPU. This is a "same program multiple data" SPMD paradigm. The objects are assumed to be identical or isomorphic in the sense that they contain the fields in common which are referenced by the code in n using the same data layout within the MPLObject subclass.

template<typename T >
void Meta::MPLKernel::compile ( std::vector< T > &  ov,
mnode  n 
) [inline]

See the previous description of compile().

void Meta::MPLKernel::compile ( MPLObject **  ov,
size_t  count,
mnode  n 
)

See the previous description of compile().

Begin executing the kernel and await completion.

static void Meta::MPLKernel::setWorkSize ( size_t  workSize) [static]
Parameters:
workSizeThe preferred work group size. This should correspond to the number of cores on the GPU and directly relates to the performance of running the kernel. For best perfomance, the size of the compiled object vector should be an even multiple of work size. The default value is 512.

Begin executing the kernel but do not block for completion.


The documentation for this class was generated from the following file: