ASL
0.1.7
Advanced Simulation Library
|
OpenCl Kernel generator. More...
#include <aclKernel.h>
Public Member Functions | |
Kernel (const KernelConfiguration kernelConfig_=KERNEL_BASIC) | |
void | setup () |
void | compute () |
void | setGroupsNumber (unsigned int n) |
unsigned int | getGroupsNumber () |
std::string | getKernelSource () |
unsigned int | getKernelID () |
const cl::Kernel & | getKernel () const |
void | clear () |
removes all expressions from the kernel More... | |
const KernelConfiguration & | getConfiguration () const |
![]() | |
ExpressionContainer () | |
void | addExpression (Element expression_) |
unsigned int | getSize () |
const CommandQueue | getQueue () const |
Protected Member Functions | |
cl_uint | detectVectorWidth () |
detects minimal vector width of all available types of Elements More... | |
void | generateExtensions () |
void | generateArguments () |
void | generateIndex () |
void | generateLocalDeclarations () |
void | generateExpressions () |
virtual void | generateKernelSource () |
void | updateKernelConfiguration () |
void | buildKernel () |
void | setKernelArguments () |
![]() | |
void | filterDeclarations () |
Protected Attributes | |
unsigned int | id |
unsigned int | groupsNumber |
KernelConfiguration | kernelConfig |
std::string | kernelSource |
cl::Kernel | kernel |
![]() | |
unsigned int | size |
CommandQueue | queue |
bool | regenerateKernelSource |
std::vector< Element > | arguments |
std::vector< Element > | localDeclarations |
Static Protected Attributes | |
static unsigned int | kernelNum |
Friends | |
class | KernelMerger |
Related Functions | |
(Note that these are not member functions.) | |
typedef std::shared_ptr< Kernel > | SPKernel |
typedef std::shared_ptr< KernelMerger > | SPKernelMerger |
void | createKernels (std::vector< SPKernel > &vk, unsigned int n, const KernelConfiguration &kernelConfig_=KERNEL_BASIC) |
Additional Inherited Members | |
![]() | |
std::vector< Element > | expression |
OpenCl Kernel generator.
computeWithoutUpdate
can be addedDefinition at line 48 of file aclKernel.h.
|
explicit |
|
protected |
void acl::Kernel::clear | ( | ) |
removes all expressions from the kernel
void acl::Kernel::compute | ( | ) |
|
protected |
detects minimal vector width of all available types of Elements
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
|
protected |
|
inline |
Definition at line 111 of file aclKernel.h.
unsigned int acl::Kernel::getGroupsNumber | ( | ) |
const cl::Kernel& acl::Kernel::getKernel | ( | ) | const |
unsigned int acl::Kernel::getKernelID | ( | ) |
std::string acl::Kernel::getKernelSource | ( | ) |
void acl::Kernel::setGroupsNumber | ( | unsigned int | n | ) |
|
protected |
void acl::Kernel::setup | ( | ) |
Prepares kernel for launch. Should always be called before compute() after all expressions are added. Generates kernel source, builds kernel and sets its arguments.
|
protected |
|
related |
creates n
kernels in vk
with configuration kernelConfig_
Definition at line 100 of file aclKernel.h.
|
friend |
Definition at line 85 of file aclKernel.h.
Definition at line 89 of file aclKernel.h.
|
related |
Definition at line 70 of file aclKernelMerger.h.
|
protected |
Definition at line 53 of file aclKernel.h.
|
protected |
Definition at line 52 of file aclKernel.h.
|
protected |
Definition at line 56 of file aclKernel.h.
|
protected |
Definition at line 54 of file aclKernel.h.
|
staticprotected |
Definition at line 51 of file aclKernel.h.
|
protected |
Definition at line 55 of file aclKernel.h.