# ----------------------------------------------------------------------------
# Copyright (c) 2026 Huawei Technologies Co., Ltd.
# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
# CANN Open Software License Agreement Version 2.0 (the "License").
# Please refer to the License for details. You may not use this file except in compliance with the License.
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
# See LICENSE in the root of the software repository for the full text of the License.
# ----------------------------------------------------------------------------

cases:
- operator: DepthwiseConv2D
  case_id: 1
  input_shape:
  - [2, 64, 32, 32]
  - - 64
    - 3
    - 3
  - [64]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 64
  value_range:
  - [-1, 1]
  - [-1, 1]
  - [-0.1, 0.1]
  note: "S-float16-256K-对齐-3x3k-groups=64"
- operator: DepthwiseConv2D
  case_id: 2
  input_shape:
  - [4, 128, 64, 64]
  - - 128
    - 3
    - 3
  - [128]
  dtype: [float32, float32, float32]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 128
  value_range:
  - [-2, 2]
  - [-2, 2]
  - [-0.2, 0.2]
  note: "S-float32-8M-对齐-3x3k-groups=128"
- operator: DepthwiseConv2D
  case_id: 3
  input_shape:
  - [2, 256, 128, 128]
  - - 256
    - 5
    - 5
  - [256]
  dtype: [bfloat16, bfloat16, bfloat16]
  attrs:
    kernelSize: [5, 5]
    stride: [1, 1]
    padding: [2, 2]
    dilation: [1, 1]
    groups: 256
  value_range:
  - [-3, 3]
  - [-3, 3]
  - [-0.3, 0.3]
  note: "M-bfloat16-33M-对齐-5x5k-groups=256 | baseline_kernels: TransData×4 + MemSet×2 + Cast×1 + Conv2D×1"
- operator: DepthwiseConv2D
  case_id: 4
  input_shape:
  - [8, 512, 64, 64]
  - - 512
    - 3
    - 3
  - [512]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [2, 2]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 512
  value_range:
  - [-10, 10]
  - [-10, 10]
  - [-1, 1]
  note: "M-float16-67M-对齐-stride=2-downsample"
- operator: DepthwiseConv2D
  case_id: 5
  input_shape:
  - [4, 1024, 32, 32]
  - - 1024
    - 3
    - 3
  - [1024]
  dtype: [float32, float32, float32]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [2, 2]
    dilation: [2, 2]
    groups: 1024
  value_range:
  - [-100, 100]
  - [-100, 100]
  - [-10, 10]
  note: "M-float32-134M-对齐-dilation=2"
- operator: DepthwiseConv2D
  case_id: 6
  input_shape:
  - [2, 2048, 16, 16]
  - - 2048
    - 1
    - 1
  - [2048]
  dtype: [bfloat16, bfloat16, bfloat16]
  attrs:
    kernelSize: [1, 1]
    stride: [1, 1]
    padding: [0, 0]
    dilation: [1, 1]
    groups: 2048
  value_range:
  - [-1000, 1000]
  - [-1000, 1000]
  - [-100, 100]
  note: "S-bfloat16-1G-对齐-1x1k-valid"
- operator: DepthwiseConv2D
  case_id: 7
  input_shape:
  - [3, 63, 31, 31]
  - - 63
    - 3
    - 3
  - [63]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 63
  value_range:
  - [-0.1, 0.1]
  - [-0.1, 0.1]
  - [-0.01, 0.01]
  note: "S-float16-200K-质数非对齐-微小值域"
- operator: DepthwiseConv2D
  case_id: 8
  input_shape:
  - [2, 127, 61, 61]
  - - 127
    - 3
    - 3
  - [127]
  dtype: [float32, float32, float32]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 127
  value_range:
  - [-1, 2]
  - [-1, 2]
  - [-0.1, 0.2]
  note: "S-float32-2M-质数非对齐-非对称"
- operator: DepthwiseConv2D
  case_id: 9
  input_shape:
  - [3, 47, 23, 23]
  - - 47
    - 5
    - 5
  - [47]
  dtype: [bfloat16, bfloat16, bfloat16]
  attrs:
    kernelSize: [5, 5]
    stride: [2, 2]
    padding: [2, 2]
    dilation: [1, 1]
    groups: 47
  value_range:
  - [-5, 10]
  - [-5, 10]
  - [-0.5, 0.5]
  note: "S-bfloat16-50K-质数非对齐-stride=2"
- operator: DepthwiseConv2D
  case_id: 10
  input_shape:
  - [5, 97, 43, 43]
  - - 97
    - 3
    - 3
  - [97]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [2, 2]
    groups: 97
  value_range:
  - [-50, 100]
  - [-50, 100]
  - [-5, 5]
  note: "S-float16-2M-质数非对齐-dilation=2"
- operator: DepthwiseConv2D
  case_id: 11
  input_shape:
  - [2, 65, 33, 33]
  - - 65
    - 3
    - 3
  - [65]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 65
  value_range:
  - [-65504, 65504]
  - [-65504, 65504]
  - [-100, 100]
  note: "S-float16-500K-非对齐-float16边界值"
- operator: DepthwiseConv2D
  case_id: 12
  input_shape:
  - [3, 7, 13, 13]
  - - 7
    - 3
    - 3
  - [7]
  dtype: [float32, float32, float32]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 7
  value_range:
  - [-88, 88]
  - [-88, 88]
  - [-10, 10]
  note: "S-float32-10K-质数非对齐-float32边界值"
- operator: DepthwiseConv2D
  case_id: 13
  input_shape:
  - [2, 63, 31, 31]
  - - 63
    - 3
    - 3
  - [63]
  dtype: [float32, float32, float32]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 63
  value_range:
  - [-.inf, .inf]
  - [-.inf, .inf]
  - [-.inf, .inf]
  note: "S-float32-200K-非对齐-inf特殊值"
- operator: DepthwiseConv2D
  case_id: 14
  input_shape:
  - [2, 11, 13, 17]
  - - 11
    - 3
    - 3
  - [11]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 11
  value_range:
  - [.nan, .nan]
  - [.nan, .nan]
  - [.nan, .nan]
  note: "S-float16-5K-质数非对齐-nan特殊值"
- operator: DepthwiseConv2D
  case_id: 15
  input_shape:
  - [4, 63, 31, 31]
  - - 63
    - 3
    - 3
  - [63]
  dtype: [bfloat16, bfloat16, bfloat16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 63
  value_range:
  - [0, 0]
  - [0, 0]
  - [0, 0]
  note: "S-bfloat16-400K-非对齐-零值"
- operator: DepthwiseConv2D
  case_id: 16
  input_shape:
  - [2, 64, 31, 31]
  - - 64
    - 3
    - 3
  - [64]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 64
  value_range:
  - [-0.5, 0.5]
  - [-0.5, 0.5]
  - [-0.05, 0.05]
  note: "S-float16-200K-混合非对齐-微小值域"
- operator: DepthwiseConv2D
  case_id: 17
  input_shape:
  - [3, 127, 63, 63]
  - - 127
    - 5
    - 5
  - [127]
  dtype: [float32, float32, float32]
  attrs:
    kernelSize: [5, 5]
    stride: [2, 2]
    padding: [2, 2]
    dilation: [1, 1]
    groups: 127
  value_range:
  - [-1, 3]
  - [-1, 3]
  - [-0.1, 0.3]
  note: "S-float32-2M-非对齐-stride=2-5x5k"
- operator: DepthwiseConv2D
  case_id: 18
  input_shape:
  - [2, 255, 127, 127]
  - - 255
    - 3
    - 3
  - [255]
  dtype: [bfloat16, bfloat16, bfloat16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [3, 3]
    groups: 255
  value_range:
  - [-1000, 1000]
  - [-1000, 1000]
  - [-100, 100]
  note: "M-bfloat16-16M-非对齐-dilation=3-大值域"
- operator: DepthwiseConv2D
  case_id: 19
  input_shape:
  - [4, 31, 31, 31]
  - - 31
    - 3
    - 3
  - [31]
  dtype: [float16, float16, float16]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [1, 1]
    groups: 31
  value_range:
  - [-0.2, 0.2]
  - [-0.2, 0.2]
  - [-0.02, 0.02]
  note: "S-float16-100K-质数非对齐-微小值域"
- operator: DepthwiseConv2D
  case_id: 20
  input_shape:
  - [2, 127, 127, 127]
  - - 127
    - 3
    - 3
  - [127]
  dtype: [float32, float32, float32]
  attrs:
    kernelSize: [3, 3]
    stride: [1, 1]
    padding: [1, 1]
    dilation: [2, 2]
    groups: 127
  value_range:
  - [-3, 6]
  - [-3, 6]
  - [-0.3, 0.6]
  note: "M-float32-4M-质数非对齐-dilation=2-非对称中值域"