PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::Scan< T > Class Template Reference

#include <Scan.h>

Public Member Functions

 Scan ()
 
 ~Scan ()
 
void exclusive (T *output, const T *input, size_t length, bool bcao=true)
 
void exclusive (T *data, size_t length, bool bcao=true)
 
void exclusive (DArray< T > &output, DArray< T > &input, bool bcao=true)
 
void exclusive (DArray< T > &data, bool bcao=true)
 

Private Member Functions

void scanLargeDeviceArray (T *d_out, const T *d_in, size_t length, bool bcao, size_t level)
 
void scanSmallDeviceArray (T *d_out, const T *d_in, size_t length, bool bcao)
 
void scanLargeEvenDeviceArray (T *output, const T *input, size_t length, bool bcao, size_t level)
 
bool isPowerOfTwo (size_t x)
 
size_t nextPowerOfTwo (size_t x)
 

Private Attributes

DArray< Tm_buffer
 
DArray< Tm_sums [SCAN_LEVEL]
 
DArray< Tm_incr [SCAN_LEVEL]
 

Detailed Description

template<typename T>
class dyno::Scan< T >

Definition at line 9 of file Scan.h.

Constructor & Destructor Documentation

◆ Scan()

template<typename T>
dyno::Scan< T >::Scan ( )

◆ ~Scan()

template<typename T>
dyno::Scan< T >::~Scan ( )

Member Function Documentation

◆ exclusive() [1/4]

template<typename T>
void dyno::Scan< T >::exclusive ( DArray< T > & data,
bool bcao = true )

◆ exclusive() [2/4]

template<typename T>
void dyno::Scan< T >::exclusive ( DArray< T > & output,
DArray< T > & input,
bool bcao = true )

◆ exclusive() [3/4]

template<typename T>
void dyno::Scan< T >::exclusive ( T * data,
size_t length,
bool bcao = true )

◆ exclusive() [4/4]

template<typename T>
void dyno::Scan< T >::exclusive ( T * output,
const T * input,
size_t length,
bool bcao = true )
Here is the caller graph for this function:

◆ isPowerOfTwo()

template<typename T>
bool dyno::Scan< T >::isPowerOfTwo ( size_t x)
private

◆ nextPowerOfTwo()

template<typename T>
size_t dyno::Scan< T >::nextPowerOfTwo ( size_t x)
private

◆ scanLargeDeviceArray()

template<typename T>
void dyno::Scan< T >::scanLargeDeviceArray ( T * d_out,
const T * d_in,
size_t length,
bool bcao,
size_t level )
private

◆ scanLargeEvenDeviceArray()

template<typename T>
void dyno::Scan< T >::scanLargeEvenDeviceArray ( T * output,
const T * input,
size_t length,
bool bcao,
size_t level )
private

◆ scanSmallDeviceArray()

template<typename T>
void dyno::Scan< T >::scanSmallDeviceArray ( T * d_out,
const T * d_in,
size_t length,
bool bcao )
private

Member Data Documentation

◆ m_buffer

template<typename T>
DArray<T> dyno::Scan< T >::m_buffer
private

Definition at line 31 of file Scan.h.

◆ m_incr

template<typename T>
DArray<T> dyno::Scan< T >::m_incr[SCAN_LEVEL]
private

Definition at line 34 of file Scan.h.

◆ m_sums

template<typename T>
DArray<T> dyno::Scan< T >::m_sums[SCAN_LEVEL]
private

Definition at line 33 of file Scan.h.


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