QUDA  0.9.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune Class Reference
Inheritance diagram for anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune:
Inheritance graph
[legend]
Collaboration diagram for anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune:
Collaboration graph
[legend]

Public Member Functions

 DslashPolicyTune (DslashCuda &dslash, cudaColorSpinorField *in, const int volume, const int *ghostFace, TimeProfile &profile)
 
virtual ~DslashPolicyTune ()
 
void apply (const cudaStream_t &stream)
 
int tuningIter () const
 
bool advanceAux (TuneParam &param) const
 
bool advanceTuneParam (TuneParam &param) const
 
void initTuneParam (TuneParam &param) const
 
void defaultTuneParam (TuneParam &param) const
 
TuneKey tuneKey () const
 
long long flops () const
 
long long bytes () const
 
void preTune ()
 
void postTune ()
 

Private Member Functions

bool tuneGridDim () const
 
bool tuneAuxDim () const
 
unsigned int sharedBytesPerThread () const
 
unsigned int sharedBytesPerBlock (const TuneParam &param) const
 

Private Attributes

DslashCudadslash
 
DslashParamdslashParam
 
cudaColorSpinorField * in
 
const int volume
 
const intghostFace
 
TimeProfile & profile
 

Detailed Description

Definition at line 1895 of file dslash_policy.cuh.

Constructor & Destructor Documentation

◆ DslashPolicyTune()

anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::DslashPolicyTune ( DslashCuda dslash,
cudaColorSpinorField *  in,
const int  volume,
const int ghostFace,
TimeProfile &  profile 
)
inline

◆ ~DslashPolicyTune()

virtual anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::~DslashPolicyTune ( )
inlinevirtual

Definition at line 2114 of file dslash_policy.cuh.

References setPolicyTuning().

Here is the call graph for this function:

Member Function Documentation

◆ advanceAux()

bool anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::advanceAux ( TuneParam &  param) const
inline

◆ advanceTuneParam()

bool anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::advanceTuneParam ( TuneParam &  param) const
inline

Definition at line 2179 of file dslash_policy.cuh.

References param.

◆ apply()

void anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::apply ( const cudaStream_t &  stream)
inline

◆ bytes()

long long anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::bytes ( ) const
inline

Definition at line 2208 of file dslash_policy.cuh.

References KERNEL_POLICY, and DslashParam::kernel_type.

◆ defaultTuneParam()

void anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::defaultTuneParam ( TuneParam &  param) const
inline

◆ flops()

long long anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::flops ( ) const
inline

Definition at line 2200 of file dslash_policy.cuh.

References KERNEL_POLICY, and DslashParam::kernel_type.

◆ initTuneParam()

void anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::initTuneParam ( TuneParam &  param) const
inline

◆ postTune()

void anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::postTune ( )
inline

Definition at line 2218 of file dslash_policy.cuh.

◆ preTune()

void anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::preTune ( )
inline

Definition at line 2216 of file dslash_policy.cuh.

◆ sharedBytesPerBlock()

unsigned int anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::sharedBytesPerBlock ( const TuneParam &  param) const
inlineprivate

Definition at line 1907 of file dslash_policy.cuh.

◆ sharedBytesPerThread()

unsigned int anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::sharedBytesPerThread ( ) const
inlineprivate

Definition at line 1906 of file dslash_policy.cuh.

◆ tuneAuxDim()

bool anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::tuneAuxDim ( ) const
inlineprivate

Definition at line 1905 of file dslash_policy.cuh.

◆ tuneGridDim()

bool anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::tuneGridDim ( ) const
inlineprivate

Definition at line 1904 of file dslash_policy.cuh.

◆ tuneKey()

TuneKey anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::tuneKey ( ) const
inline

Definition at line 2191 of file dslash_policy.cuh.

References comm_dim_topology_string(), KERNEL_POLICY, DslashParam::kernel_type, and strcat().

Here is the call graph for this function:

◆ tuningIter()

int anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::tuningIter ( ) const
inline

Definition at line 2159 of file dslash_policy.cuh.

Member Data Documentation

◆ dslash

DslashCuda& anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::dslash
private

Definition at line 1897 of file dslash_policy.cuh.

◆ dslashParam

DslashParam& anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::dslashParam
private

Definition at line 1898 of file dslash_policy.cuh.

◆ ghostFace

const int* anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::ghostFace
private

Definition at line 1901 of file dslash_policy.cuh.

◆ in

cudaColorSpinorField* anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::in
private

Definition at line 1899 of file dslash_policy.cuh.

◆ profile

TimeProfile& anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::profile
private

Definition at line 1902 of file dslash_policy.cuh.

◆ volume

const int anonymous_namespace{dslash_policy.cuh}::DslashPolicyTune::volume
private

Definition at line 1900 of file dslash_policy.cuh.


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