loop_scheduler.hpp Source File

loop_scheduler.hpp Source File#

Composable Kernel: loop_scheduler.hpp Source File
loop_scheduler.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
6#if !defined(__HIPCC_RTC__) || !defined(CK_CODE_GEN_RTC)
7#include <ostream>
8#endif
9
11
12namespace ck {
13
14enum struct LoopScheduler
15{
18};
19
21{
22#if CK_EXPERIMENTAL_DEFAULT_TO_INTER_WAVE_SCHEDULING
24#else
26#endif // if CK_EXPERIMENTAL_DEFAULT_TO_INTER_WAVE_SCHEDULING
27}
28
29} // namespace ck
30
31#if !defined(__HIPCC_RTC__) || !defined(CK_CODE_GEN_RTC)
32inline std::ostream& operator<<(std::ostream& os, const ck::LoopScheduler& s)
33{
34 switch(s)
35 {
36 case ck::LoopScheduler::Default: os << "Default"; break;
37 case ck::LoopScheduler::Interwave: os << "Interwave"; break;
38 default: os << "";
39 }
40 return os;
41}
42#endif
std::ostream & operator<<(std::ostream &os, const ck::LoopScheduler &s)
Definition loop_scheduler.hpp:32
Definition ck.hpp:268
@ Interwave
Definition blkgemmpipe_scheduler.hpp:27
LoopScheduler
Definition loop_scheduler.hpp:15
@ Default
Definition loop_scheduler.hpp:16
@ Interwave
Definition loop_scheduler.hpp:17
constexpr LoopScheduler make_default_loop_scheduler()
Definition loop_scheduler.hpp:20