ASL  0.1.7
Advanced Simulation Library
Public Member Functions | List of all members
acl::IndexExt Class Reference

#include <aclIndexExt.h>

Inheritance diagram for acl::IndexExt:
Inheritance graph
[legend]
Collaboration diagram for acl::IndexExt:
Collaboration graph
[legend]

Public Member Functions

 IndexExt (unsigned int s=0)
 
virtual string str (const KernelConfiguration &kernelConfig) const
 
virtual string getName () const
 
virtual string getTypeSignature (const KernelConfiguration &kernelConfig) const
 
virtual string getLocalDeclaration (const KernelConfiguration &kernelConfig) const
 
virtual void addToKernelSource (vector< Element > &arguments, vector< Element > &localDeclarations) const
 
virtual void setAsArgument (cl::Kernel &kernel, unsigned int argumentIndex) const
 
- Public Member Functions inherited from acl::ElementBase
virtual string getAddressSpaceQualifier () const
 
unsigned int getSize () const
 
CommandQueue getQueue () const
 
TypeID getTypeID () const
 
virtual void addToKernelSource (vector< shared_ptr< ElementBase > > &arguments, vector< shared_ptr< ElementBase > > &localDeclarations) const =0
 Adds ElementBase to the kernel source either as an argument or as a local declaration. More...
 
virtual ~ElementBase ()
 

Additional Inherited Members

- Public Attributes inherited from acl::ElementBase
const bool isWritable
 
- Protected Member Functions inherited from acl::ElementBase
 ElementBase (bool isWritable_, unsigned int size_, TypeID typeID_)
 
- Protected Attributes inherited from acl::ElementBase
unsigned int size
 
TypeID typeID
 
CommandQueue queue
 

Detailed Description

The class creates OpenCl code which corresponds to "index" for the case with simple kernel. This means that in the case of kernel with vector length v and unaligned = false it generates code

{v*index, v*index+1, ... , v*index+v-1}

with vector length v and unaligned = true it generates code

{index, index+1, ... , index+v-1}

Definition at line 43 of file aclIndexExt.h.

Constructor & Destructor Documentation

◆ IndexExt()

acl::IndexExt::IndexExt ( unsigned int  s = 0)

Member Function Documentation

◆ addToKernelSource()

virtual void acl::IndexExt::addToKernelSource ( vector< Element > &  arguments,
vector< Element > &  localDeclarations 
) const
virtual

◆ getLocalDeclaration()

virtual string acl::IndexExt::getLocalDeclaration ( const KernelConfiguration kernelConfig) const
virtual

Implements acl::ElementBase.

◆ getName()

virtual string acl::IndexExt::getName ( ) const
virtual

Implements acl::ElementBase.

◆ getTypeSignature()

virtual string acl::IndexExt::getTypeSignature ( const KernelConfiguration kernelConfig) const
virtual

Implements acl::ElementBase.

◆ setAsArgument()

virtual void acl::IndexExt::setAsArgument ( cl::Kernel kernel,
unsigned int  argumentIndex 
) const
virtual

Implements acl::ElementBase.

◆ str()

virtual string acl::IndexExt::str ( const KernelConfiguration kernelConfig) const
virtual

Implements acl::ElementBase.


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