/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/pipeline_enum.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/pipeline_enum.hpp Source File#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/pipeline_enum.hpp Source File
pipeline_enum.hpp
Go to the documentation of this file.
1 // Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
2 // SPDX-License-Identifier: MIT
3 
4 #pragma once
5 
6 #if !defined(__HIPCC_RTC__) || !defined(CK_CODE_GEN_RTC)
7 #include <ostream>
8 #endif
9 
10 namespace ck {
11 
16 enum struct PipelineVersion
17 {
18  v1,
19  v2,
20  // v3 is only used in the Stream-K implementation.
21  v4,
22  weight_only,
23 };
24 
25 } // namespace ck
26 
27 #if !defined(__HIPCC_RTC__) || !defined(CK_CODE_GEN_RTC)
28 inline std::ostream& operator<<(std::ostream& os, const ck::PipelineVersion& p)
29 {
30  switch(p)
31  {
32  case ck::PipelineVersion::v1: os << "PipelineVersion::v1"; break;
33  case ck::PipelineVersion::v2: os << "PipelineVersion::v2"; break;
34  case ck::PipelineVersion::v4: os << "PipelineVersion::v4"; break;
35  case ck::PipelineVersion::weight_only: os << "PipelineVersion::weight_only"; break;
36  default: os << "";
37  }
38  return os;
39 }
40 #endif
Definition: ck.hpp:270
PipelineVersion
Pipeline version enumeration for GEMM kernels.
Definition: pipeline_enum.hpp:17
@ v2
Version 2 pipeline.
@ v4
Version 4 pipeline.
@ v1
Version 1 pipeline.
@ weight_only
Weight-only specialized pipeline.
std::ostream & operator<<(std::ostream &os, const ck::PipelineVersion &p)
Definition: pipeline_enum.hpp:28