SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ > Struct Template Reference

SmoothquantPipelineProblem&lt; XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ > Struct Template Reference
ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ > Struct Template Reference

#include <smoothquant_pipeline_problem.hpp>

Public Types

using XDataType = remove_cvref_t< XDataType_ >
 
using SmoothScaleDataType = remove_cvref_t< SmoothScaleDataType_ >
 
using ComputeDataType = remove_cvref_t< ComputeDataType_ >
 
using YScaleDataType = remove_cvref_t< YScaleDataType_ >
 
using QYDataType = remove_cvref_t< QYDataType_ >
 
using BlockShape = remove_cvref_t< BlockShape_ >
 

Static Public Attributes

static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1
 
static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1
 
static constexpr bool kPadN = kPadN_
 
static constexpr bool kTwoPass = kTwoPass_
 

Member Typedef Documentation

◆ BlockShape

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
using ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::BlockShape = remove_cvref_t<BlockShape_>

◆ ComputeDataType

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
using ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::ComputeDataType = remove_cvref_t<ComputeDataType_>

◆ QYDataType

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
using ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::QYDataType = remove_cvref_t<QYDataType_>

◆ SmoothScaleDataType

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
using ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::SmoothScaleDataType = remove_cvref_t<SmoothScaleDataType_>

◆ XDataType

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
using ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::XDataType = remove_cvref_t<XDataType_>

◆ YScaleDataType

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
using ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::YScaleDataType = remove_cvref_t<YScaleDataType_>

Member Data Documentation

◆ kNeedCrossLaneSync

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
constexpr bool ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1
staticconstexpr

◆ kNeedCrossWarpSync

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
constexpr bool ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1
staticconstexpr

◆ kPadN

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
constexpr bool ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::kPadN = kPadN_
staticconstexpr

◆ kTwoPass

template<typename XDataType_ , typename SmoothScaleDataType_ , typename ComputeDataType_ , typename YScaleDataType_ , typename QYDataType_ , typename BlockShape_ , bool kPadN_, bool kTwoPass_>
constexpr bool ck_tile::SmoothquantPipelineProblem< XDataType_, SmoothScaleDataType_, ComputeDataType_, YScaleDataType_, QYDataType_, BlockShape_, kPadN_, kTwoPass_ >::kTwoPass = kTwoPass_
staticconstexpr

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