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_>
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_>
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_>
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_>
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: