ASL  0.1.7
Advanced Simulation Library
Classes | Namespaces | Typedefs | Functions | Variables
acl.h File Reference
#include "aclStdIncludes.h"
#include <memory>
#include "Kernels/aclKernelConfiguration.h"
#include "aclTypes.h"
Include dependency graph for acl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  acl::Array< T >
 Global array. More...
 

Namespaces

 cl
 The OpenCL C++ bindings are defined within this namespace.
 
 acl
 Advanced Computational Language.
 
 acl::elementOperators
 definitions of mathematical operators and functions for class Element
 

Typedefs

typedef std::shared_ptr< MemBlock > acl::ElementData
 
typedef std::shared_ptr< ElementBase > acl::Element
 
typedef std::shared_ptr< cl::CommandQueueacl::CommandQueue
 

Functions

Element acl::elementOperators::operator- (Element e)
 
Element acl::elementOperators::operator+ (Element e1, Element e2)
 
Element acl::elementOperators::operator- (Element e1, Element e2)
 
Element acl::elementOperators::operator* (Element e1, Element e2)
 
Element acl::elementOperators::operator/ (Element e1, Element e2)
 
Element acl::elementOperators::operator% (Element e1, Element e2)
 
Element acl::elementOperators::operatorAssignment (Element e1, Element e2)
 
Element acl::elementOperators::operatorAssignmentSafe (Element e1, Element e2)
 
Element acl::elementOperators::operator+= (Element e1, Element e2)
 
Element acl::elementOperators::operator-= (Element e1, Element e2)
 
Element acl::elementOperators::operator*= (Element e1, Element e2)
 
Element acl::elementOperators::operator/= (Element e1, Element e2)
 
Element acl::elementOperators::operator> (Element e1, Element e2)
 
Element acl::elementOperators::operator< (Element e1, Element e2)
 
Element acl::elementOperators::operator>= (Element e1, Element e2)
 
Element acl::elementOperators::operator<= (Element e1, Element e2)
 
Element acl::elementOperators::isEqual (Element e1, Element e2)
 
Element acl::elementOperators::isNotEqual (Element e1, Element e2)
 
Element acl::elementOperators::operator&& (Element e1, Element e2)
 
Element acl::elementOperators::operator|| (Element e1, Element e2)
 
Element acl::elementOperators::operator! (Element e)
 
Element acl::elementOperators::sin (Element e)
 
Element acl::elementOperators::cos (Element e)
 
Element acl::elementOperators::sqrt (Element e)
 
Element acl::elementOperators::rsqrt (Element e)
 
Element acl::elementOperators::log (Element e)
 
Element acl::elementOperators::log10 (Element e)
 
Element acl::elementOperators::powI (Element a, unsigned int i)
 
Element acl::elementOperators::exp (Element a)
 
Element acl::elementOperators::fabs (Element a)
 
Element acl::elementOperators::abs (Element a)
 
Element acl::elementOperators::abs_diff (Element a, Element b)
 
Element acl::elementOperators::floor (Element a)
 
Element acl::elementOperators::isnan (Element a)
 
Element acl::elementOperators::nan (TypeID t)
 
Element acl::elementOperators::copysign (Element a, Element b)
 
Element acl::elementOperators::sign (Element a)
 
Element acl::elementOperators::min (Element a, Element b)
 
Element acl::elementOperators::max (Element a, Element b)
 
Element acl::elementOperators::atomic_add (Element e1, Element e2)
 
Element acl::elementOperators::atomic_sub (Element e1, Element e2)
 
Element acl::elementOperators::atomic_xchg (Element e1, Element e2)
 
Element acl::elementOperators::mad (Element e1, Element e2, Element e3)
 
Element acl::elementOperators::syncCopy (Element source, Element destination, Element srcOffset, Element dstOffset, Element length)
 
Element acl::elementOperators::barrier (std::string flags="CLK_LOCAL_MEM_FENCE")
 
Element acl::elementOperators::excerpt (Element source, Element filter)
 
Element acl::elementOperators::parse (const std::vector< std::pair< Element, std::string > > &elementNamePairs, const std::string &statement)
 
Element acl::elementOperators::convert (const TypeID tName, Element e1, bool strong=true)
 
Element acl::elementOperators::printfFunction (std::string args)
 
Element acl::elementOperators::returnStatement ()
 
Element acl::elementOperators::ifElse (Element condition, const std::vector< Element > &thenBody, const std::vector< Element > &elseBody)
 
Element acl::elementOperators::select (Element e1, Element e2, Element e3)
 
Element acl::elementOperators::forLoop (Element initialization, Element condition, Element increase, const std::vector< Element > &body)
 
Element acl::elementOperators::any (Element e)
 Corresponds to the openCL operation any. More...
 
Element acl::elementOperators::all (Element e)
 Corresponds to the openCL operation all. More...
 
bool acl::isConstant (Element e)
 
bool acl::isSingleValue (Element e)
 The function returns true when the input is a single valued object e.g. aclConstatnt, aclVariable. More...
 
bool acl::isMemBlock (Element e)
 
template<typename T >
void acl::copy (MemBlock &source, T *destination)
 
template<typename T >
void acl::copy (T *source, MemBlock &destination)
 
template<typename T >
void acl::copy (MemBlock &source, std::vector< T > &destination)
 
template<typename T >
void acl::copy (std::vector< T > &source, MemBlock &destination)
 
template<typename T >
void acl::copy (MemBlock &source, MemBlock &destination)
 
template<typename T >
void acl::copy (Element source, std::vector< T > &destination)
 
template<typename T >
void acl::copy (std::vector< T > &source, Element destination)
 
template<typename T >
void acl::copy (Element source, T *destination)
 
template<typename T >
void acl::copy (T *source, Element destination)
 
void acl::initData (Element a, Element initializationValue, const KernelConfiguration &kernelConfig=KERNEL_BASIC)
 
Element acl::generateSubElement (Element, unsigned int size, int offset)
 function creates subElement with given length and offset; offset is constant More...
 
Element acl::generateSubElement (Element, unsigned int size, int *offset)
 function creates subElement with given length and offset; offset can be a variable More...
 
Element acl::generateSubElement (Element, unsigned int size, Element offset)
 
Element acl::generateShiftedElement (Element, int offset)
 
Element acl::generateShiftedElement (Element, int *offset)
 
Element acl::generateShiftedElement (Element, Element offset)
 
template<typename T >
void acl::swapBuffers (std::shared_ptr< Array< T > >a, std::shared_ptr< Array< T > > b)
 
ElementData acl::generateElementArray (TypeID typeID, unsigned int size)
 
ElementData acl::generateElementArray (TypeID typeID, unsigned int size, CommandQueue queue_)
 
Element acl::generateElementLocalArray (TypeID typeID, unsigned int size)
 

Variables

const KernelConfiguration acl::KERNEL_BASIC