248 lines
5.5 KiB
YAML
248 lines
5.5 KiB
YAML
#
|
|
# SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
---
|
|
name: CustomSkipLayerNormPluginDynamic
|
|
interface: "IPluginV3"
|
|
versions:
|
|
"5": # SkipLayerNormPluginV3
|
|
inputs:
|
|
- input
|
|
- skip
|
|
outputs:
|
|
- output
|
|
input_dims:
|
|
input: 5
|
|
skip: 5
|
|
input_dim_constraints:
|
|
- "input_2 == bias_2"
|
|
- "skip_0 == input_0"
|
|
- "skip_1 == input_1"
|
|
- "skip_2 == input_2"
|
|
input_dim_range:
|
|
input:
|
|
min: "=1, =1, =1, =1, =1"
|
|
max: "=pinf, =pinf, =pinf, =1, =1"
|
|
skip:
|
|
min: "=1, =1, =1, =1, =1"
|
|
max: "=pinf, =pinf, =pinf, =1, =1"
|
|
supported_input_types:
|
|
- combination1:
|
|
input: float32
|
|
skip: float32
|
|
- combination2:
|
|
input: float16
|
|
skip: float16
|
|
output_dims:
|
|
output: "input_0, input_1, input_2, input_3, input_4"
|
|
attributes:
|
|
- type_id
|
|
- ld
|
|
- beta
|
|
- gamma
|
|
- bias
|
|
attribute_types:
|
|
type_id: int32
|
|
ld: int32
|
|
beta: float32
|
|
gamma: float32
|
|
bias: float32
|
|
attribute_dims:
|
|
type_id: 1
|
|
ld: 1
|
|
beta: 3
|
|
gamma: 3
|
|
bias: 3
|
|
attribute_dim_range:
|
|
type_id:
|
|
min: "=1"
|
|
max: "=1"
|
|
ld:
|
|
min: "=1"
|
|
max: "=1"
|
|
beta:
|
|
min: "=1, =1, =1"
|
|
max: "=1, =1, =pinf"
|
|
gamma:
|
|
min: "=1, =1, =1"
|
|
max: "=1, =1, =pinf"
|
|
bias:
|
|
min: "=1, =1, =1"
|
|
max: "=1, =1, =pinf"
|
|
attribute_options:
|
|
type_id:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
ld:
|
|
min: "=1"
|
|
max: "=pinf"
|
|
beta:
|
|
min: "=ninf"
|
|
max: "=pinf"
|
|
gamma:
|
|
min: "=ninf"
|
|
max: "=pinf"
|
|
bias:
|
|
min: "=ninf"
|
|
max: "=pinf"
|
|
attributes_required:
|
|
- type_id
|
|
- ld
|
|
- beta
|
|
- gamma
|
|
golden_reference_script: "plugin/CustomSkipLayerNormPluginDynamic_PluginReference.py"
|
|
abs_tol: 1e-2
|
|
rel_tol: 1e-2
|
|
configs:
|
|
config1:
|
|
input_types:
|
|
input: float32
|
|
skip: float32
|
|
attribute_options:
|
|
type_id:
|
|
value: 0
|
|
ld:
|
|
value: 128
|
|
beta:
|
|
shape: "1, 1, 128"
|
|
gamma:
|
|
shape: "1, 1, 128"
|
|
bias:
|
|
shape: "1, 1, 128"
|
|
config2:
|
|
input_types:
|
|
input: float16
|
|
skip: float16
|
|
attribute_options:
|
|
type_id:
|
|
value: 1
|
|
ld:
|
|
value: 768
|
|
beta:
|
|
shape: "1, 1, 768"
|
|
gamma:
|
|
shape: "1, 1, 768"
|
|
bias:
|
|
shape: "1, 1, 768"
|
|
"6": # SkipLayerNormVarSeqlenPluginV3
|
|
inputs:
|
|
- input
|
|
- skip
|
|
outputs:
|
|
- output
|
|
input_dims:
|
|
input: 5
|
|
skip: 5
|
|
input_dim_constraints:
|
|
- "input_2 == bias_2"
|
|
- "skip_0 == input_0"
|
|
- "skip_1 == input_1"
|
|
- "skip_2 == input_2"
|
|
input_dim_range:
|
|
input:
|
|
min: "=1, =1, =1, =1, =1"
|
|
max: "=pinf, =pinf, =pinf, =1, =1"
|
|
skip:
|
|
min: "=1, =1, =1, =1, =1"
|
|
max: "=pinf, =pinf, =pinf, =1, =1"
|
|
supported_input_types:
|
|
- combination1:
|
|
input: float32
|
|
skip: float32
|
|
- combination2:
|
|
input: float16
|
|
skip: float16
|
|
output_dims:
|
|
output: "input_0, input_1, input_2, input_3, input_4"
|
|
attributes:
|
|
- type_id
|
|
- beta
|
|
- gamma
|
|
- bias
|
|
attribute_types:
|
|
type_id: int32
|
|
beta: float32
|
|
gamma: float32
|
|
bias: float32
|
|
attribute_dims:
|
|
type_id: 1
|
|
beta: 3
|
|
gamma: 3
|
|
bias: 3
|
|
attribute_dim_range:
|
|
type_id:
|
|
min: "=1"
|
|
max: "=1"
|
|
beta:
|
|
min: "=1, =1, =1"
|
|
max: "=1, =1, =pinf"
|
|
gamma:
|
|
min: "=1, =1, =1"
|
|
max: "=1, =1, =pinf"
|
|
bias:
|
|
min: "=1, =1, =1"
|
|
max: "=1, =1, =pinf"
|
|
attribute_options:
|
|
type_id:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
beta:
|
|
min: "=ninf"
|
|
max: "=pinf"
|
|
gamma:
|
|
min: "=ninf"
|
|
max: "=pinf"
|
|
bias:
|
|
min: "=ninf"
|
|
max: "=pinf"
|
|
attributes_required:
|
|
- type_id
|
|
- beta
|
|
- gamma
|
|
golden_reference_script: "plugin/CustomSkipLayerNormPluginDynamic_PluginReference.py"
|
|
abs_tol: 1e-2
|
|
rel_tol: 1e-2
|
|
configs:
|
|
config1:
|
|
input_types:
|
|
input: float32
|
|
skip: float32
|
|
attribute_options:
|
|
type_id:
|
|
value: 0
|
|
beta:
|
|
shape: "1, 1, 128"
|
|
gamma:
|
|
shape: "1, 1, 128"
|
|
bias:
|
|
shape: "1, 1, 128"
|
|
config2:
|
|
input_types:
|
|
input: float16
|
|
skip: float16
|
|
attribute_options:
|
|
type_id:
|
|
value: 1
|
|
beta:
|
|
shape: "1, 1, 768"
|
|
gamma:
|
|
shape: "1, 1, 768"
|
|
bias:
|
|
shape: "1, 1, 768"
|
|
...
|