CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Static Public Attributes | List of all members
cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail Struct Reference

#include <output_tile_thread_map.h>

Public Types

using RowArrangement = detail::RowArrangement< Shape, kWarpsRemainingForRows, kElementsPerAccess, kElementSize,(Shape::kRow > kWarpsRemainingForRows) >
 
using WarpPartitions = OutputTileShape< RowArrangement::kWarpPartitionsColumn, RowArrangement::kWarpPartitionsRow, kWarpPartitionsGroup, kWarpPartitionsCluster, 1 >
 

Static Public Attributes

static int const kIterationsCluster
 
static int const kDeltaCluster
 
static int const kCompactedDeltaCluster
 
static int const kWarpPartitionsCluster
 
static int const kWarpsRemainingForGroups
 
static int const kIterationsGroup
 
static int const kDeltaGroup
 
static int const kCompactedDeltaGroup
 
static int const kWarpPartitionsGroup
 
static int const kWarpsRemainingForRows
 
static int const kAccessWidth = RowArrangement::kAccessWidth
 
static int const kAccessRows = RowArrangement::kAccessRows
 

Member Typedef Documentation

template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
using cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::RowArrangement = detail::RowArrangement< Shape, kWarpsRemainingForRows, kElementsPerAccess, kElementSize, (Shape::kRow > kWarpsRemainingForRows) >
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
using cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::WarpPartitions = OutputTileShape< RowArrangement::kWarpPartitionsColumn, RowArrangement::kWarpPartitionsRow, kWarpPartitionsGroup, kWarpPartitionsCluster, 1>

Member Data Documentation

template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kAccessRows = RowArrangement::kAccessRows
static
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kAccessWidth = RowArrangement::kAccessWidth
static
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kCompactedDeltaCluster
static
Initial value:
=
((Shape::kCluster > kWarpCount) ?
Shape::kRow * Shape::kGroup * Shape::kCluster / kIterationsCluster
: 1)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kCompactedDeltaGroup
static
Initial value:
=
((Shape::kGroup > kWarpsRemainingForGroups) ?
Shape::kRow * Shape::kGroup / kIterationsGroup
: 1)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kDeltaCluster
static
Initial value:
=
((Shape::kCluster > kWarpCount) ?
Shape::kRow * Count::kRow * Shape::kGroup * Count::kGroup * Shape::kCluster / kIterationsCluster
: 1)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kDeltaGroup
static
Initial value:
=
((Shape::kGroup > kWarpsRemainingForGroups) ?
Shape::kRow * Count::kRow * Shape::kGroup / kIterationsGroup
: 1)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kIterationsCluster
static
Initial value:
=
((Shape::kCluster > kWarpCount) ?
Shape::kCluster / kWarpCount
: 1)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kIterationsGroup
static
Initial value:
=
((Shape::kGroup > kWarpsRemainingForGroups) ?
Shape::kGroup / kWarpsRemainingForGroups
: 1)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kWarpPartitionsCluster
static
Initial value:
=
((Shape::kCluster > kWarpCount) ?
: kWarpCount / Shape::kCluster)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kWarpPartitionsGroup
static
Initial value:
=
((Shape::kGroup > kWarpsRemainingForGroups) ?
1
: kWarpsRemainingForGroups / Shape::kGroup)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kWarpsRemainingForGroups
static
Initial value:
=
((Shape::kCluster > kWarpCount) ? 1 : kWarpCount / Shape::kCluster)
template<typename Shape_ , typename Count_ , int Threads, int ElementsPerAccess, int ElementSize>
int const cutlass::epilogue::threadblock::OutputTileOptimalThreadMap< Shape_, Count_, Threads, ElementsPerAccess, ElementSize >::Detail::kWarpsRemainingForRows
static
Initial value:
=
((Shape::kGroup > kWarpsRemainingForGroups) ?
1
: kWarpsRemainingForGroups / Shape::kGroup)

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