/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/smoothquant/pipeline/smoothquant_pipeline_problem.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/smoothquant/pipeline/smoothquant_pipeline_problem.hpp Source File#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/smoothquant/pipeline/smoothquant_pipeline_problem.hpp Source File
smoothquant_pipeline_problem.hpp
Go to the documentation of this file.
1 // SPDX-License-Identifier: MIT
2 // Copyright (c) 2018-2025, Advanced Micro Devices, Inc. All rights reserved.
3 
4 #pragma once
5 
7 
8 namespace ck_tile {
9 
10 // Y = X * SmoothScale, QY = RowwiseDynamicQuant(Y) = SaturateCast(Y / YScale)
11 template <typename XDataType_,
12  typename SmoothScaleDataType_,
13  typename ComputeDataType_,
14  typename YScaleDataType_,
15  typename QYDataType_,
16  typename BlockShape_,
17  bool kPadN_,
18  bool kTwoPass_>
20 {
27 
28  static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1;
29  static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1;
30 
31  static constexpr bool kPadN = kPadN_;
32  static constexpr bool kTwoPass = kTwoPass_;
33 };
34 
35 } // namespace ck_tile
Definition: cluster_descriptor.hpp:13
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition: type_traits.hpp:21
Definition: smoothquant_pipeline_problem.hpp:20
static constexpr bool kNeedCrossLaneSync
Definition: smoothquant_pipeline_problem.hpp:28
remove_cvref_t< YScaleDataType_ > YScaleDataType
Definition: smoothquant_pipeline_problem.hpp:24
remove_cvref_t< QYDataType_ > QYDataType
Definition: smoothquant_pipeline_problem.hpp:25
remove_cvref_t< XDataType_ > XDataType
Definition: smoothquant_pipeline_problem.hpp:21
static constexpr bool kPadN
Definition: smoothquant_pipeline_problem.hpp:31
remove_cvref_t< BlockShape_ > BlockShape
Definition: smoothquant_pipeline_problem.hpp:26
remove_cvref_t< SmoothScaleDataType_ > SmoothScaleDataType
Definition: smoothquant_pipeline_problem.hpp:22
static constexpr bool kTwoPass
Definition: smoothquant_pipeline_problem.hpp:32
static constexpr bool kNeedCrossWarpSync
Definition: smoothquant_pipeline_problem.hpp:29
remove_cvref_t< ComputeDataType_ > ComputeDataType
Definition: smoothquant_pipeline_problem.hpp:23