XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
layer_norm_fused_op_api.hpp
Go to the documentation of this file.
1/*******************************************************************************
2* Copyright (c) 2022-2023 Intel Corporation
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*******************************************************************************/
16
19
20#pragma once
21
22#include "subgroup/subgroup.hpp"
23
24namespace gpu::xetla {
25
28enum class ln_fwd_fused_kind : uint8_t {
29 none = 0,
31 ln_dropout = 2,
32 //fused with random number generator kernel
34 //fused with random number generator kernel
36};
37
40enum class ln_bwd_fused_kind : uint8_t {
41 none = 0,
44 ln_dropout = 3,
45};
46
47namespace group {
48
57template <ln_fwd_fused_kind fused_op_kind_, typename dtype_in_,
58 typename dtype_out_, typename dtype_acc_, typename layer_norm_attr_,
59 gpu_arch arch_ = gpu_arch::Xe>
61
70template <ln_bwd_fused_kind fused_op_kind_, typename dtype_in_,
71 typename dtype_out_, typename dtype_acc_, typename layer_norm_attr_,
72 gpu_arch arch_ = gpu_arch::Xe>
74
75} // namespace group
76} // namespace gpu::xetla
Definition arch_config.hpp:24
ln_fwd_fused_kind
Definition layer_norm_fused_op_api.hpp:28
gpu_arch
Definition common.hpp:73
ln_bwd_fused_kind
Definition layer_norm_fused_op_api.hpp:40
Definition layer_norm_fused_op_api.hpp:73
Definition layer_norm_fused_op_api.hpp:60