| 
    HDK
    
   | 
 
#include <CE_Vector.h>
Public Types | |
| typedef T | value_type | 
Public Member Functions | |
| CE_VectorT () | |
| CE_VectorT (exint len, bool use_pool=false, bool read=true, bool write=true) | |
| Initialize to given length.  More... | |
| CE_VectorT (bool use_pool, bool read, bool write) | |
| CE_VectorT (const CE_VectorT< T > &v) | |
| Copy constructor.  More... | |
| ~CE_VectorT () | |
| void | init (exint len, bool doalloc=true) | 
| void | init (exint nl, exint nh) | 
| void | initFromVector (const UT_VectorT< T > &src, bool block=true) | 
| Initialize from a UT_Vector.  More... | |
| void | initFromBuffer (const cl::Buffer &src, exint size, int tuplesize=1) | 
| Initialize from a cl::Buffer, which this vector does not own.  More... | |
| void | matchAndCopyToVector (UT_VectorT< T > &dst, bool block=true) const | 
| Resize the provided UT_Vector to fit and copy this vector's data there.  More... | |
| exint | length () const | 
| Returns the vector length.  More... | |
| int | tupleSize () const | 
| Returns the size of the tuple contained in the vector.  More... | |
| exint | tupleCount () const | 
| Returns the number of tuples contained in the vector.  More... | |
| const cl::Buffer & | buffer () const | 
| Returns the underlying OpenCL buffer.  More... | |
| void | multAndSet (const CE_VectorT< T > &a, const CE_VectorT< T > &b) | 
| The following functions all mimic those of the same name in UT_Vector.  More... | |
| void | negPlus (const CE_VectorT< T > &a) | 
| void | scaleAddVec (T s, const CE_VectorT< T > &a) | 
| fpreal64 | norm (int type) const | 
| void | zero () | 
| void | addScaledVec (T s, const CE_VectorT< T > &a) | 
| CE_VectorT & | operator= (const CE_VectorT< T > &v) | 
| fpreal64 | sum (int comp=0) const | 
| Reductions of the vector to a single value.  More... | |
| fpreal64 | sumAbs (int comp=0) const | 
| fpreal64 | sumSqr (int comp=0) const | 
| fpreal64 | min (int comp=0) const | 
| fpreal64 | minAbs (int comp=0) const | 
| fpreal64 | max (int comp=0) const | 
| fpreal64 | maxAbs (int comp=0) const | 
| fpreal64 | average (int comp=0) const | 
| fpreal64 | rms (int comp=0) const | 
| fpreal64 | dot (const CE_VectorT< T > &a) const | 
| Returns the dot product with provided vector.  More... | |
| cl::KernelFunctor | bind (cl::Kernel &k) const | 
| void | setValue (T cval) | 
| void | copyFrom (const CE_VectorT< T > &v) | 
Protected Member Functions | |
| const cl::Buffer & | allocBuffer () const | 
| void | releaseBuffer () | 
| cl::KernelFunctor | bind (const char *kernel_name) const | 
| cl::Kernel | loadKernel (const char *kernel_name, const char *opt=NULL) const | 
| void | getReductionRanges (const cl::Kernel &k, cl::NDRange &global_range, cl::NDRange &local_range, uint &groupsize, uint &ngroups, size_t &accumsize) const | 
| fpreal64 | reduceGroup (cl::Buffer out, uint groupsize, uint ngroups, size_t accumsize, const char *reduce_flags) const | 
| fpreal64 | doReduce (const char *reduce_flags, const CE_VectorT< T > *a=NULL, int tuplesize=1, int comp=0) const | 
Protected Attributes | |
| cl::Buffer | myBuffer | 
| cl::NDRange | myGlobalRange | 
| cl::NDRange | myLocalRange | 
| exint | myLen | 
| int | myTupleSize | 
| bool | myRead | 
| bool | myWrite | 
| bool | myUsePool | 
A simple OpenCL-based vector class that at the moment just mimics just enough of UT_Vector to be used in CE_SparseMatrixELLT::solveConjugateGradient.
Definition at line 22 of file CE_Vector.h.
| typedef T CE_VectorT< T >::value_type | 
Definition at line 26 of file CE_Vector.h.
| CE_VectorT< T >::CE_VectorT | ( | ) | 
| CE_VectorT< T >::CE_VectorT | ( | exint | len, | 
| bool | use_pool = false,  | 
        ||
| bool | read = true,  | 
        ||
| bool | write = true  | 
        ||
| ) | 
Initialize to given length.
| CE_VectorT< T >::CE_VectorT | ( | bool | use_pool, | 
| bool | read, | ||
| bool | write | ||
| ) | 
Initialize to zero in in the cases when we want to init / not init the vector based on size
| CE_VectorT< T >::CE_VectorT | ( | const CE_VectorT< T > & | v | ) | 
Copy constructor.
| CE_VectorT< T >::~CE_VectorT | ( | ) | 
| void CE_VectorT< T >::addScaledVec | ( | T | s, | 
| const CE_VectorT< T > & | a | ||
| ) | 
      
  | 
  protected | 
      
  | 
  inline | 
Definition at line 95 of file CE_Vector.h.
| cl::KernelFunctor CE_VectorT< T >::bind | ( | cl::Kernel & | k | ) | const | 
      
  | 
  protected | 
      
  | 
  inline | 
Returns the underlying OpenCL buffer.
Definition at line 68 of file CE_Vector.h.
| void CE_VectorT< T >::copyFrom | ( | const CE_VectorT< T > & | v | ) | 
      
  | 
  protected | 
| fpreal64 CE_VectorT< T >::dot | ( | const CE_VectorT< T > & | a | ) | const | 
Returns the dot product with provided vector.
      
  | 
  protected | 
| void CE_VectorT< T >::init | ( | exint | len, | 
| bool | doalloc = true  | 
        ||
| ) | 
Initialize to given length. NOTE- values are undefined.
| void CE_VectorT< T >::init | ( | exint | nl, | 
| exint | nh | ||
| ) | 
For "compatibility" with UT_Vector. NOTE: Asserts if nl is not zero!
| void CE_VectorT< T >::initFromBuffer | ( | const cl::Buffer & | src, | 
| exint | size, | ||
| int | tuplesize = 1  | 
        ||
| ) | 
Initialize from a cl::Buffer, which this vector does not own.
| void CE_VectorT< T >::initFromVector | ( | const UT_VectorT< T > & | src, | 
| bool | block = true  | 
        ||
| ) | 
Initialize from a UT_Vector.
      
  | 
  inline | 
Returns the vector length.
Definition at line 61 of file CE_Vector.h.
      
  | 
  protected | 
| void CE_VectorT< T >::matchAndCopyToVector | ( | UT_VectorT< T > & | dst, | 
| bool | block = true  | 
        ||
| ) | const | 
Resize the provided UT_Vector to fit and copy this vector's data there.
| fpreal64 CE_VectorT< T >::max | ( | int | comp = 0 | ) | const | 
| fpreal64 CE_VectorT< T >::maxAbs | ( | int | comp = 0 | ) | const | 
| fpreal64 CE_VectorT< T >::min | ( | int | comp = 0 | ) | const | 
| fpreal64 CE_VectorT< T >::minAbs | ( | int | comp = 0 | ) | const | 
| void CE_VectorT< T >::multAndSet | ( | const CE_VectorT< T > & | a, | 
| const CE_VectorT< T > & | b | ||
| ) | 
The following functions all mimic those of the same name in UT_Vector.
| void CE_VectorT< T >::negPlus | ( | const CE_VectorT< T > & | a | ) | 
| fpreal64 CE_VectorT< T >::norm | ( | int | type | ) | const | 
| CE_VectorT& CE_VectorT< T >::operator= | ( | const CE_VectorT< T > & | v | ) | 
Operators NOTE: operator= requires the destination be a matching size.
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  inline | 
Definition at line 96 of file CE_Vector.h.
| void CE_VectorT< T >::scaleAddVec | ( | T | s, | 
| const CE_VectorT< T > & | a | ||
| ) | 
| void CE_VectorT< T >::setValue | ( | T | cval | ) | 
| fpreal64 CE_VectorT< T >::sum | ( | int | comp = 0 | ) | const | 
Reductions of the vector to a single value.
| fpreal64 CE_VectorT< T >::sumAbs | ( | int | comp = 0 | ) | const | 
| fpreal64 CE_VectorT< T >::sumSqr | ( | int | comp = 0 | ) | const | 
      
  | 
  inline | 
Returns the number of tuples contained in the vector.
Definition at line 65 of file CE_Vector.h.
      
  | 
  inline | 
Returns the size of the tuple contained in the vector.
Definition at line 63 of file CE_Vector.h.
      
  | 
  inline | 
Definition at line 79 of file CE_Vector.h.
      
  | 
  mutableprotected | 
Definition at line 127 of file CE_Vector.h.
      
  | 
  protected | 
Definition at line 128 of file CE_Vector.h.
      
  | 
  protected | 
Definition at line 129 of file CE_Vector.h.
      
  | 
  protected | 
Definition at line 128 of file CE_Vector.h.
      
  | 
  protected | 
Definition at line 132 of file CE_Vector.h.
      
  | 
  protected | 
Definition at line 130 of file CE_Vector.h.
      
  | 
  protected | 
Definition at line 132 of file CE_Vector.h.
      
  | 
  protected | 
Definition at line 132 of file CE_Vector.h.