QUDA
1.0.0
|
#include <tune_quda.h>
Public Member Functions | |
TunableVectorYZ (unsigned int vector_length_y, unsigned int vector_length_z) | |
bool | advanceBlockDim (TuneParam ¶m) const |
void | initTuneParam (TuneParam ¶m) const |
void | defaultTuneParam (TuneParam ¶m) const |
void | resizeVector (int y, int z) const |
void | resizeStep (int y, int z) const |
![]() | |
TunableVectorY (unsigned int vector_length_y) | |
void | resizeVector (int y) const |
void | resizeStep (int y) const |
![]() | |
Tunable () | |
virtual | ~Tunable () |
virtual TuneKey | tuneKey () const =0 |
virtual void | apply (const cudaStream_t &stream)=0 |
virtual void | preTune () |
virtual void | postTune () |
virtual int | tuningIter () const |
virtual std::string | paramString (const TuneParam ¶m) const |
virtual std::string | perfString (float time) const |
virtual bool | advanceTuneParam (TuneParam ¶m) const |
void | checkLaunchParam (TuneParam ¶m) |
CUresult | jitifyError () const |
CUresult & | jitifyError () |
Private Attributes | |
unsigned | vector_length_z |
unsigned | step_z |
bool | tune_block_y |
Additional Inherited Members | |
![]() | |
virtual unsigned int | sharedBytesPerThread () const |
virtual unsigned int | sharedBytesPerBlock (const TuneParam ¶m) const |
![]() | |
virtual long long | flops () const =0 |
virtual long long | bytes () const |
virtual unsigned int | minThreads () const |
virtual bool | tuneGridDim () const |
virtual bool | tuneAuxDim () const |
virtual bool | tuneSharedBytes () const |
virtual bool | advanceGridDim (TuneParam ¶m) const |
virtual unsigned int | maxBlockSize (const TuneParam ¶m) const |
virtual unsigned int | maxGridSize () const |
virtual unsigned int | minGridSize () const |
virtual int | gridStep () const |
gridStep sets the step size when iterating the grid size in advanceGridDim. More... | |
virtual int | blockStep () const |
virtual int | blockMin () const |
virtual void | resetBlockDim (TuneParam ¶m) const |
unsigned int | maxBlocksPerSM () const |
For some reason this can't be queried from the device properties, so here we set set this. Based on Table 14 of the CUDA Programming Guide 10.0 (Technical Specifications per Compute Capability) More... | |
template<typename F > | |
void | setMaxDynamicSharedBytesPerBlock (F *func) const |
Enable the maximum dynamic shared bytes for the kernel "func" (values given by maxDynamicSharedBytesPerBlock()). More... | |
unsigned int | maxDynamicSharedBytesPerBlock () const |
This can't be correctly queried in CUDA for all architectures so here we set set this. Based on Table 14 of the CUDA Programming Guide 10.0 (Technical Specifications per Compute Capability). More... | |
virtual unsigned int | maxSharedBytesPerBlock () const |
The maximum shared memory that a CUDA thread block can use in the autotuner. This isn't necessarily the same as maxDynamicSharedMemoryPerBlock since that may need explicit opt in to enable (by calling setMaxDynamicSharedBytes for the kernel in question). If the CUDA kernel in question does this opt in then this function can be overloaded to return maxDynamicSharedBytesPerBlock. More... | |
virtual bool | advanceSharedBytes (TuneParam ¶m) const |
virtual bool | advanceAux (TuneParam ¶m) const |
int | writeAuxString (const char *format,...) |
![]() | |
unsigned int | vector_length_y |
unsigned int | step_y |
bool | tune_block_x |
![]() | |
char | aux [TuneKey::aux_n] |
CUresult | jitify_error |
Definition at line 485 of file tune_quda.h.
|
inline |
Definition at line 492 of file tune_quda.h.
|
inlinevirtual |
Reimplemented from quda::TunableVectorY.
Reimplemented in quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >.
Definition at line 496 of file tune_quda.h.
References quda::Tunable::advanceBlockDim(), quda::TunableVectorY::advanceBlockDim(), quda::TuneParam::block, deviceProp, and quda::TuneParam::grid.
Referenced by quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::advanceBlockDim().
|
inlinevirtual |
sets default values for when tuning is disabled
Reimplemented from quda::TunableVectorY.
Reimplemented in quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >, quda::Pack< Float, nColor, spin_project >, quda::Dslash5< Float, nColor, Arg >, quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >, and quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >.
Definition at line 531 of file tune_quda.h.
References quda::TuneParam::block, quda::TunableVectorY::defaultTuneParam(), and quda::TuneParam::grid.
Referenced by quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >::defaultTuneParam(), quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::defaultTuneParam(), quda::Dslash5< Float, nColor, Arg >::defaultTuneParam(), quda::Pack< Float, nColor, spin_project >::defaultTuneParam(), and quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::defaultTuneParam().
|
inlinevirtual |
Reimplemented from quda::TunableVectorY.
Reimplemented in quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >, quda::Pack< Float, nColor, spin_project >, quda::Dslash5< Float, nColor, Arg >, quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >, and quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >.
Definition at line 523 of file tune_quda.h.
References quda::TuneParam::block, quda::TuneParam::grid, and quda::TunableVectorY::initTuneParam().
Referenced by quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::advanceAux(), quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >::initTuneParam(), quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::initTuneParam(), quda::Dslash5< Float, nColor, Arg >::initTuneParam(), quda::Pack< Float, nColor, spin_project >::initTuneParam(), and quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::initTuneParam().
|
inline |
Definition at line 539 of file tune_quda.h.
References quda::activeTuning(), quda::disableProfileCount(), quda::enableProfileCount(), quda::flushProfile(), quda::getTuneCache(), quda::loadTuneCache(), quda::postTrace_(), quda::TunableVectorY::resizeStep(), quda::saveProfile(), quda::saveTuneCache(), quda::setPolicyTuning(), quda::tuneLaunch(), and verbosity.
Referenced by quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::advanceAux(), and quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::setComputeType().
|
inline |
Definition at line 538 of file tune_quda.h.
References quda::TunableVectorY::resizeVector().
Referenced by quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::advanceAux(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::advanceAux(), quda::DomainWall4D< Float, nDim, nColor, Arg >::DomainWall4D(), quda::DomainWall5D< Float, nDim, nColor, Arg >::DomainWall5D(), quda::NdegTwistedMass< Float, nDim, nColor, Arg >::NdegTwistedMass(), quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >::NdegTwistedMassPreconditioned(), and quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::setComputeType().
|
mutableprivate |
Definition at line 488 of file tune_quda.h.
|
private |
Definition at line 489 of file tune_quda.h.
|
mutableprivate |
Definition at line 487 of file tune_quda.h.