Skip to content

Test Suite - HIP - Grid dropout#702

Merged
kiritigowda merged 15 commits into
ROCm:developfrom
LakshmiKumar23:lk/test_fix
Apr 8, 2026
Merged

Test Suite - HIP - Grid dropout#702
kiritigowda merged 15 commits into
ROCm:developfrom
LakshmiKumar23:lk/test_fix

Conversation

@LakshmiKumar23
Copy link
Copy Markdown
Contributor

Motivation

Grid dropout fails on QA test mode for HIP backend. This PR aims to fix the failure

Technical Details

Explanation from claude:

For NHWC (PKD3), strides are set as in set_descriptor_dims_and_strides:

nStride = c * w * h
hStride = c * w (row step in elements)
wStride = c (step from one column to the next in elements)

The HIP kernel grid_dropout_pkd_hip_tensor instead computed:

dstIdx = … + y * hStride + x (missing x * wStride)
then used dstPtr[dstIdx * 3], which effectively mixed “pixel x” with element strides and scaled the index again by 3.
So writes landed on the wrong pixels and could run past the end of the buffer (typical gdb symptom for PKD3-only paths).

Fix
Pass nStride, hStride, and wStride into the kernel as a uint3.
Compute dstIdx as
batch * nStride + y * hStride + x * wStride
(with lt folded into y/x as before).

Write the packed RGB with &dstPtr[dstIdx](no extra * 3).

Test Plan

HIP Ctest for grid dropout should pass. Known failures with jpeg compression will be fixed as a separate PR

Test Result


5: ---------------------------------- Results of QA Test - Tensor_image_hip ----------------------------------
5:
5: brightness_u8_Tensor_PKD3_to_PKD3: PASSED
5: brightness_u8_Tensor_PKD3_to_PLN3: PASSED
5: brightness_f32_Tensor_PKD3_to_PKD3: PASSED
5: brightness_f32_Tensor_PKD3_to_PLN3: PASSED
5: brightness_u8_Tensor_PLN3_to_PLN3: PASSED
5: brightness_u8_Tensor_PLN3_to_PKD3: PASSED
5: brightness_f32_Tensor_PLN3_to_PLN3: PASSED
5: brightness_f32_Tensor_PLN3_to_PKD3: PASSED
5: brightness_u8_Tensor_PLN1_to_PLN1: PASSED
5: brightness_f32_Tensor_PLN1_to_PLN1: PASSED
5: gamma_correction_u8_Tensor_PKD3_to_PKD3: PASSED
5: gamma_correction_u8_Tensor_PKD3_to_PLN3: PASSED
5: gamma_correction_f32_Tensor_PKD3_to_PKD3: PASSED
5: gamma_correction_f32_Tensor_PKD3_to_PLN3: PASSED
5: gamma_correction_u8_Tensor_PLN3_to_PLN3: PASSED
5: gamma_correction_u8_Tensor_PLN3_to_PKD3: PASSED
5: gamma_correction_f32_Tensor_PLN3_to_PLN3: PASSED
5: gamma_correction_f32_Tensor_PLN3_to_PKD3: PASSED
5: gamma_correction_u8_Tensor_PLN1_to_PLN1: PASSED
5: gamma_correction_f32_Tensor_PLN1_to_PLN1: PASSED
5: blend_u8_Tensor_PKD3_to_PKD3: PASSED
5: blend_u8_Tensor_PKD3_to_PLN3: PASSED
5: blend_f32_Tensor_PKD3_to_PKD3: PASSED
5: blend_f32_Tensor_PKD3_to_PLN3: PASSED
5: blend_u8_Tensor_PLN3_to_PLN3: PASSED
5: blend_u8_Tensor_PLN3_to_PKD3: PASSED
5: blend_f32_Tensor_PLN3_to_PLN3: PASSED
5: blend_f32_Tensor_PLN3_to_PKD3: PASSED
5: blend_u8_Tensor_PLN1_to_PLN1: PASSED
5: blend_f32_Tensor_PLN1_to_PLN1: PASSED
5: contrast_u8_Tensor_PKD3_to_PKD3: PASSED
5: contrast_u8_Tensor_PKD3_to_PLN3: PASSED
5: contrast_f32_Tensor_PKD3_to_PKD3: PASSED
5: contrast_f32_Tensor_PKD3_to_PLN3: PASSED
5: contrast_u8_Tensor_PLN3_to_PLN3: PASSED
5: contrast_u8_Tensor_PLN3_to_PKD3: PASSED
5: contrast_f32_Tensor_PLN3_to_PLN3: PASSED
5: contrast_f32_Tensor_PLN3_to_PKD3: PASSED
5: contrast_u8_Tensor_PLN1_to_PLN1: PASSED
5: contrast_f32_Tensor_PLN1_to_PLN1: PASSED
5: pixelate_u8_Tensor_PKD3_to_PKD3: PASSED
5: pixelate_u8_Tensor_PKD3_to_PLN3: PASSED
5: pixelate_f32_Tensor_PKD3_to_PKD3: PASSED
5: pixelate_f32_Tensor_PKD3_to_PLN3: PASSED
5: pixelate_u8_Tensor_PLN3_to_PLN3: PASSED
5: pixelate_u8_Tensor_PLN3_to_PKD3: PASSED
5: pixelate_f32_Tensor_PLN3_to_PLN3: PASSED
5: pixelate_f32_Tensor_PLN3_to_PKD3: PASSED
5: pixelate_u8_Tensor_PLN1_to_PLN1: PASSED
5: pixelate_f32_Tensor_PLN1_to_PLN1: PASSED
5: snow_u8_Tensor_PKD3_to_PKD3: PASSED
5: snow_u8_Tensor_PKD3_to_PLN3: PASSED
5: snow_f32_Tensor_PKD3_to_PKD3: PASSED
5: snow_f32_Tensor_PKD3_to_PLN3: PASSED
5: snow_u8_Tensor_PLN3_to_PLN3: PASSED
5: snow_u8_Tensor_PLN3_to_PKD3: PASSED
5: snow_f32_Tensor_PLN3_to_PLN3: PASSED
5: snow_f32_Tensor_PLN3_to_PKD3: PASSED
5: snow_u8_Tensor_PLN1_to_PLN1: PASSED
5: snow_f32_Tensor_PLN1_to_PLN1: PASSED
5: exposure_u8_Tensor_PKD3_to_PKD3: PASSED
5: exposure_u8_Tensor_PKD3_to_PLN3: PASSED
5: exposure_f32_Tensor_PKD3_to_PKD3: PASSED
5: exposure_f32_Tensor_PKD3_to_PLN3: PASSED
5: exposure_u8_Tensor_PLN3_to_PLN3: PASSED
5: exposure_u8_Tensor_PLN3_to_PKD3: PASSED
5: exposure_f32_Tensor_PLN3_to_PLN3: PASSED
5: exposure_f32_Tensor_PLN3_to_PKD3: PASSED
5: exposure_u8_Tensor_PLN1_to_PLN1: PASSED
5: exposure_f32_Tensor_PLN1_to_PLN1: PASSED
5: threshold_u8_Tensor_PKD3_to_PKD3: PASSED
5: threshold_u8_Tensor_PKD3_to_PLN3: PASSED
5: threshold_f32_Tensor_PKD3_to_PKD3: PASSED
5: threshold_f32_Tensor_PKD3_to_PLN3: PASSED
5: threshold_u8_Tensor_PLN3_to_PLN3: PASSED
5: threshold_u8_Tensor_PLN3_to_PKD3: PASSED
5: threshold_f32_Tensor_PLN3_to_PLN3: PASSED
5: threshold_f32_Tensor_PLN3_to_PKD3: PASSED
5: threshold_u8_Tensor_PLN1_to_PLN1: PASSED
5: threshold_f32_Tensor_PLN1_to_PLN1: PASSED
5: flip_u8_Tensor_PKD3_to_PKD3: PASSED
5: flip_u8_Tensor_PKD3_to_PLN3: PASSED
5: flip_f32_Tensor_PKD3_to_PKD3: PASSED
5: flip_f32_Tensor_PKD3_to_PLN3: PASSED
5: flip_u8_Tensor_PLN3_to_PLN3: PASSED
5: flip_u8_Tensor_PLN3_to_PKD3: PASSED
5: flip_f32_Tensor_PLN3_to_PLN3: PASSED
5: flip_f32_Tensor_PLN3_to_PKD3: PASSED
5: flip_u8_Tensor_PLN1_to_PLN1: PASSED
5: flip_f32_Tensor_PLN1_to_PLN1: PASSED
5: resize_u8_Tensor_PKD3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: resize_u8_Tensor_PKD3_to_PKD3_interpolationTypeBilinear: PASSED
5: resize_u8_Tensor_PKD3_to_PKD3_interpolationTypeBicubic: PASSED
5: resize_u8_Tensor_PKD3_to_PKD3_interpolationTypeLanczos: PASSED
5: resize_u8_Tensor_PKD3_to_PKD3_interpolationTypeTriangular: PASSED
5: resize_u8_Tensor_PKD3_to_PKD3_interpolationTypeGaussian: PASSED
5: resize_u8_Tensor_PKD3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: resize_u8_Tensor_PKD3_to_PLN3_interpolationTypeBilinear: PASSED
5: resize_u8_Tensor_PKD3_to_PLN3_interpolationTypeBicubic: PASSED
5: resize_u8_Tensor_PKD3_to_PLN3_interpolationTypeLanczos: PASSED
5: resize_u8_Tensor_PKD3_to_PLN3_interpolationTypeTriangular: PASSED
5: resize_u8_Tensor_PKD3_to_PLN3_interpolationTypeGaussian: PASSED
5: resize_f32_Tensor_PKD3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: resize_f32_Tensor_PKD3_to_PKD3_interpolationTypeBilinear: PASSED
5: resize_f32_Tensor_PKD3_to_PKD3_interpolationTypeBicubic: PASSED
5: resize_f32_Tensor_PKD3_to_PKD3_interpolationTypeLanczos: PASSED
5: resize_f32_Tensor_PKD3_to_PKD3_interpolationTypeTriangular: PASSED
5: resize_f32_Tensor_PKD3_to_PKD3_interpolationTypeGaussian: PASSED
5: resize_f32_Tensor_PKD3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: resize_f32_Tensor_PKD3_to_PLN3_interpolationTypeBilinear: PASSED
5: resize_f32_Tensor_PKD3_to_PLN3_interpolationTypeBicubic: PASSED
5: resize_f32_Tensor_PKD3_to_PLN3_interpolationTypeLanczos: PASSED
5: resize_f32_Tensor_PKD3_to_PLN3_interpolationTypeTriangular: PASSED
5: resize_f32_Tensor_PKD3_to_PLN3_interpolationTypeGaussian: PASSED
5: resize_u8_Tensor_PLN3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: resize_u8_Tensor_PLN3_to_PLN3_interpolationTypeBilinear: PASSED
5: resize_u8_Tensor_PLN3_to_PLN3_interpolationTypeBicubic: PASSED
5: resize_u8_Tensor_PLN3_to_PLN3_interpolationTypeLanczos: PASSED
5: resize_u8_Tensor_PLN3_to_PLN3_interpolationTypeTriangular: PASSED
5: resize_u8_Tensor_PLN3_to_PLN3_interpolationTypeGaussian: PASSED
5: resize_u8_Tensor_PLN3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: resize_u8_Tensor_PLN3_to_PKD3_interpolationTypeBilinear: PASSED
5: resize_u8_Tensor_PLN3_to_PKD3_interpolationTypeBicubic: PASSED
5: resize_u8_Tensor_PLN3_to_PKD3_interpolationTypeLanczos: PASSED
5: resize_u8_Tensor_PLN3_to_PKD3_interpolationTypeTriangular: PASSED
5: resize_u8_Tensor_PLN3_to_PKD3_interpolationTypeGaussian: PASSED
5: resize_f32_Tensor_PLN3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: resize_f32_Tensor_PLN3_to_PLN3_interpolationTypeBilinear: PASSED
5: resize_f32_Tensor_PLN3_to_PLN3_interpolationTypeBicubic: PASSED
5: resize_f32_Tensor_PLN3_to_PLN3_interpolationTypeLanczos: PASSED
5: resize_f32_Tensor_PLN3_to_PLN3_interpolationTypeTriangular: PASSED
5: resize_f32_Tensor_PLN3_to_PLN3_interpolationTypeGaussian: PASSED
5: resize_f32_Tensor_PLN3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: resize_f32_Tensor_PLN3_to_PKD3_interpolationTypeBilinear: PASSED
5: resize_f32_Tensor_PLN3_to_PKD3_interpolationTypeBicubic: PASSED
5: resize_f32_Tensor_PLN3_to_PKD3_interpolationTypeLanczos: PASSED
5: resize_f32_Tensor_PLN3_to_PKD3_interpolationTypeTriangular: PASSED
5: resize_f32_Tensor_PLN3_to_PKD3_interpolationTypeGaussian: PASSED
5: resize_u8_Tensor_PLN1_to_PLN1_interpolationTypeNearestNeighbor: PASSED
5: resize_u8_Tensor_PLN1_to_PLN1_interpolationTypeBilinear: PASSED
5: resize_u8_Tensor_PLN1_to_PLN1_interpolationTypeBicubic: PASSED
5: resize_u8_Tensor_PLN1_to_PLN1_interpolationTypeLanczos: PASSED
5: resize_u8_Tensor_PLN1_to_PLN1_interpolationTypeTriangular: PASSED
5: resize_u8_Tensor_PLN1_to_PLN1_interpolationTypeGaussian: PASSED
5: resize_f32_Tensor_PLN1_to_PLN1_interpolationTypeNearestNeighbor: PASSED
5: resize_f32_Tensor_PLN1_to_PLN1_interpolationTypeBilinear: PASSED
5: resize_f32_Tensor_PLN1_to_PLN1_interpolationTypeBicubic: PASSED
5: resize_f32_Tensor_PLN1_to_PLN1_interpolationTypeLanczos: PASSED
5: resize_f32_Tensor_PLN1_to_PLN1_interpolationTypeTriangular: PASSED
5: resize_f32_Tensor_PLN1_to_PLN1_interpolationTypeGaussian: PASSED
5: rotate_u8_Tensor_PKD3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: rotate_u8_Tensor_PKD3_to_PKD3_interpolationTypeBilinear: PASSED
5: rotate_u8_Tensor_PKD3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: rotate_u8_Tensor_PKD3_to_PLN3_interpolationTypeBilinear: PASSED
5: rotate_f32_Tensor_PKD3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: rotate_f32_Tensor_PKD3_to_PKD3_interpolationTypeBilinear: PASSED
5: rotate_f32_Tensor_PKD3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: rotate_f32_Tensor_PKD3_to_PLN3_interpolationTypeBilinear: PASSED
5: rotate_u8_Tensor_PLN3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: rotate_u8_Tensor_PLN3_to_PLN3_interpolationTypeBilinear: PASSED
5: rotate_u8_Tensor_PLN3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: rotate_u8_Tensor_PLN3_to_PKD3_interpolationTypeBilinear: PASSED
5: rotate_f32_Tensor_PLN3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: rotate_f32_Tensor_PLN3_to_PLN3_interpolationTypeBilinear: PASSED
5: rotate_f32_Tensor_PLN3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: rotate_f32_Tensor_PLN3_to_PKD3_interpolationTypeBilinear: PASSED
5: rotate_u8_Tensor_PLN1_to_PLN1_interpolationTypeNearestNeighbor: PASSED
5: rotate_u8_Tensor_PLN1_to_PLN1_interpolationTypeBilinear: PASSED
5: rotate_f32_Tensor_PLN1_to_PLN1_interpolationTypeNearestNeighbor: PASSED
5: rotate_f32_Tensor_PLN1_to_PLN1_interpolationTypeBilinear: PASSED
5: fisheye_u8_Tensor_PKD3_to_PKD3: PASSED
5: fisheye_u8_Tensor_PKD3_to_PLN3: PASSED
5: fisheye_f32_Tensor_PKD3_to_PKD3: PASSED
5: fisheye_f32_Tensor_PKD3_to_PLN3: PASSED
5: fisheye_u8_Tensor_PLN3_to_PLN3: PASSED
5: fisheye_u8_Tensor_PLN3_to_PKD3: PASSED
5: fisheye_f32_Tensor_PLN3_to_PLN3: PASSED
5: fisheye_f32_Tensor_PLN3_to_PKD3: PASSED
5: fisheye_u8_Tensor_PLN1_to_PLN1: PASSED
5: fisheye_f32_Tensor_PLN1_to_PLN1: PASSED
5: lens_correction_u8_Tensor_PKD3_to_PKD3: PASSED
5: lens_correction_u8_Tensor_PKD3_to_PLN3: PASSED
5: lens_correction_f32_Tensor_PKD3_to_PKD3: PASSED
5: lens_correction_f32_Tensor_PKD3_to_PLN3: PASSED
5: lens_correction_u8_Tensor_PLN3_to_PLN3: PASSED
5: lens_correction_u8_Tensor_PLN3_to_PKD3: PASSED
5: lens_correction_f32_Tensor_PLN3_to_PLN3: PASSED
5: lens_correction_f32_Tensor_PLN3_to_PKD3: PASSED
5: lens_correction_u8_Tensor_PLN1_to_PLN1: PASSED
5: lens_correction_f32_Tensor_PLN1_to_PLN1: PASSED
5: water_u8_Tensor_PKD3_to_PKD3: PASSED
5: water_u8_Tensor_PKD3_to_PLN3: PASSED
5: water_f32_Tensor_PKD3_to_PKD3: PASSED
5: water_f32_Tensor_PKD3_to_PLN3: PASSED
5: water_u8_Tensor_PLN3_to_PLN3: PASSED
5: water_u8_Tensor_PLN3_to_PKD3: PASSED
5: water_f32_Tensor_PLN3_to_PLN3: PASSED
5: water_f32_Tensor_PLN3_to_PKD3: PASSED
5: water_u8_Tensor_PLN1_to_PLN1: PASSED
5: water_f32_Tensor_PLN1_to_PLN1: PASSED
5: non_linear_blend_u8_Tensor_PKD3_to_PKD3: PASSED
5: non_linear_blend_u8_Tensor_PKD3_to_PLN3: PASSED
5: non_linear_blend_f32_Tensor_PKD3_to_PKD3: PASSED
5: non_linear_blend_f32_Tensor_PKD3_to_PLN3: PASSED
5: non_linear_blend_u8_Tensor_PLN3_to_PLN3: PASSED
5: non_linear_blend_u8_Tensor_PLN3_to_PKD3: PASSED
5: non_linear_blend_f32_Tensor_PLN3_to_PLN3: PASSED
5: non_linear_blend_f32_Tensor_PLN3_to_PKD3: PASSED
5: non_linear_blend_u8_Tensor_PLN1_to_PLN1: PASSED
5: non_linear_blend_f32_Tensor_PLN1_to_PLN1: PASSED
5: color_cast_u8_Tensor_PKD3_to_PKD3: PASSED
5: color_cast_u8_Tensor_PKD3_to_PLN3: PASSED
5: color_cast_f32_Tensor_PKD3_to_PKD3: PASSED
5: color_cast_f32_Tensor_PKD3_to_PLN3: PASSED
5: color_cast_u8_Tensor_PLN3_to_PLN3: PASSED
5: color_cast_u8_Tensor_PLN3_to_PKD3: PASSED
5: color_cast_f32_Tensor_PLN3_to_PLN3: PASSED
5: color_cast_f32_Tensor_PLN3_to_PKD3: PASSED
5: erase_u8_Tensor_PKD3_to_PKD3: PASSED
5: erase_u8_Tensor_PKD3_to_PLN3: PASSED
5: erase_f32_Tensor_PKD3_to_PKD3: PASSED
5: erase_f32_Tensor_PKD3_to_PLN3: PASSED
5: erase_u8_Tensor_PLN3_to_PLN3: PASSED
5: erase_u8_Tensor_PLN3_to_PKD3: PASSED
5: erase_f32_Tensor_PLN3_to_PLN3: PASSED
5: erase_f32_Tensor_PLN3_to_PKD3: PASSED
5: erase_u8_Tensor_PLN1_to_PLN1: PASSED
5: erase_f32_Tensor_PLN1_to_PLN1: PASSED
5: crop_and_patch_u8_Tensor_PKD3_to_PKD3: PASSED
5: crop_and_patch_u8_Tensor_PKD3_to_PLN3: PASSED
5: crop_and_patch_f32_Tensor_PKD3_to_PKD3: PASSED
5: crop_and_patch_f32_Tensor_PKD3_to_PLN3: PASSED
5: crop_and_patch_u8_Tensor_PLN3_to_PLN3: PASSED
5: crop_and_patch_u8_Tensor_PLN3_to_PKD3: PASSED
5: crop_and_patch_f32_Tensor_PLN3_to_PLN3: PASSED
5: crop_and_patch_f32_Tensor_PLN3_to_PKD3: PASSED
5: crop_and_patch_u8_Tensor_PLN1_to_PLN1: PASSED
5: crop_and_patch_f32_Tensor_PLN1_to_PLN1: PASSED
5: lut_u8_Tensor_PKD3_to_PKD3: PASSED
5: lut_u8_Tensor_PKD3_to_PLN3: PASSED
5: lut_u8_Tensor_PLN3_to_PLN3: PASSED
5: lut_u8_Tensor_PLN3_to_PKD3: PASSED
5: lut_u8_Tensor_PLN1_to_PLN1: PASSED
5: glitch_u8_Tensor_PKD3_to_PKD3: PASSED
5: glitch_u8_Tensor_PKD3_to_PLN3: PASSED
5: glitch_f32_Tensor_PKD3_to_PKD3: PASSED
5: glitch_f32_Tensor_PKD3_to_PLN3: PASSED
5: glitch_u8_Tensor_PLN3_to_PLN3: PASSED
5: glitch_u8_Tensor_PLN3_to_PKD3: PASSED
5: glitch_f32_Tensor_PLN3_to_PLN3: PASSED
5: glitch_f32_Tensor_PLN3_to_PKD3: PASSED
5: color_twist_u8_Tensor_PKD3_to_PKD3: PASSED
5: color_twist_u8_Tensor_PKD3_to_PLN3: PASSED
5: color_twist_f32_Tensor_PKD3_to_PKD3: PASSED
5: color_twist_f32_Tensor_PKD3_to_PLN3: PASSED
5: color_twist_u8_Tensor_PLN3_to_PLN3: PASSED
5: color_twist_u8_Tensor_PLN3_to_PKD3: PASSED
5: color_twist_f32_Tensor_PLN3_to_PLN3: PASSED
5: color_twist_f32_Tensor_PLN3_to_PKD3: PASSED
5: crop_u8_Tensor_PKD3_to_PKD3: PASSED
5: crop_u8_Tensor_PKD3_to_PLN3: PASSED
5: crop_f32_Tensor_PKD3_to_PKD3: PASSED
5: crop_f32_Tensor_PKD3_to_PLN3: PASSED
5: crop_u8_Tensor_PLN3_to_PLN3: PASSED
5: crop_u8_Tensor_PLN3_to_PKD3: PASSED
5: crop_f32_Tensor_PLN3_to_PLN3: PASSED
5: crop_f32_Tensor_PLN3_to_PKD3: PASSED
5: crop_u8_Tensor_PLN1_to_PLN1: PASSED
5: crop_f32_Tensor_PLN1_to_PLN1: PASSED
5: crop_mirror_normalize_u8_Tensor_PKD3_to_PKD3: PASSED
5: crop_mirror_normalize_u8_Tensor_PKD3_to_PLN3: PASSED
5: crop_mirror_normalize_f32_Tensor_PKD3_to_PKD3: PASSED
5: crop_mirror_normalize_f32_Tensor_PKD3_to_PLN3: PASSED
5: crop_mirror_normalize_u8_Tensor_PLN3_to_PLN3: PASSED
5: crop_mirror_normalize_u8_Tensor_PLN3_to_PKD3: PASSED
5: crop_mirror_normalize_f32_Tensor_PLN3_to_PLN3: PASSED
5: crop_mirror_normalize_f32_Tensor_PLN3_to_PKD3: PASSED
5: crop_mirror_normalize_u8_Tensor_PLN1_to_PLN1: PASSED
5: crop_mirror_normalize_f32_Tensor_PLN1_to_PLN1: PASSED
5: resize_crop_mirror_u8_Tensor_PKD3_to_PKD3: PASSED
5: resize_crop_mirror_u8_Tensor_PKD3_to_PLN3: PASSED
5: resize_crop_mirror_f32_Tensor_PKD3_to_PKD3: PASSED
5: resize_crop_mirror_f32_Tensor_PKD3_to_PLN3: PASSED
5: resize_crop_mirror_u8_Tensor_PLN3_to_PLN3: PASSED
5: resize_crop_mirror_u8_Tensor_PLN3_to_PKD3: PASSED
5: resize_crop_mirror_f32_Tensor_PLN3_to_PLN3: PASSED
5: resize_crop_mirror_f32_Tensor_PLN3_to_PKD3: PASSED
5: resize_crop_mirror_u8_Tensor_PLN1_to_PLN1: PASSED
5: resize_crop_mirror_f32_Tensor_PLN1_to_PLN1: PASSED
5: erode_u8_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: erode_u8_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: erode_u8_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: erode_u8_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: erode_u8_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: erode_u8_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: erode_u8_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: erode_u8_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: erode_f32_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: erode_f32_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: erode_f32_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: erode_f32_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: erode_f32_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: erode_f32_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: erode_f32_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: erode_f32_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: erode_u8_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: erode_u8_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: erode_u8_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: erode_u8_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: erode_u8_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: erode_u8_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: erode_u8_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: erode_u8_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: erode_f32_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: erode_f32_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: erode_f32_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: erode_f32_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: erode_f32_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: erode_f32_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: erode_f32_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: erode_f32_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: erode_u8_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: erode_u8_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: erode_u8_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: erode_u8_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: erode_f32_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: erode_f32_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: erode_f32_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: erode_f32_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: dilate_u8_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: dilate_u8_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: dilate_u8_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: dilate_u8_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: dilate_u8_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: dilate_u8_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: dilate_u8_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: dilate_u8_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: dilate_f32_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: dilate_f32_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: dilate_f32_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: dilate_f32_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: dilate_f32_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: dilate_f32_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: dilate_f32_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: dilate_f32_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: dilate_u8_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: dilate_u8_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: dilate_u8_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: dilate_u8_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: dilate_u8_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: dilate_u8_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: dilate_u8_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: dilate_u8_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: dilate_f32_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: dilate_f32_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: dilate_f32_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: dilate_f32_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: dilate_f32_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: dilate_f32_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: dilate_f32_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: dilate_f32_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: dilate_u8_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: dilate_u8_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: dilate_u8_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: dilate_u8_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: dilate_f32_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: dilate_f32_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: dilate_f32_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: dilate_f32_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: hue_u8_Tensor_PKD3_to_PKD3: PASSED
5: hue_u8_Tensor_PKD3_to_PLN3: PASSED
5: hue_f32_Tensor_PKD3_to_PKD3: PASSED
5: hue_f32_Tensor_PKD3_to_PLN3: PASSED
5: hue_u8_Tensor_PLN3_to_PLN3: PASSED
5: hue_u8_Tensor_PLN3_to_PKD3: PASSED
5: hue_f32_Tensor_PLN3_to_PLN3: PASSED
5: hue_f32_Tensor_PLN3_to_PKD3: PASSED
5: saturation_u8_Tensor_PKD3_to_PKD3: PASSED
5: saturation_u8_Tensor_PKD3_to_PLN3: PASSED
5: saturation_f32_Tensor_PKD3_to_PKD3: PASSED
5: saturation_f32_Tensor_PKD3_to_PLN3: PASSED
5: saturation_u8_Tensor_PLN3_to_PLN3: PASSED
5: saturation_u8_Tensor_PLN3_to_PKD3: PASSED
5: saturation_f32_Tensor_PLN3_to_PLN3: PASSED
5: saturation_f32_Tensor_PLN3_to_PKD3: PASSED
5: color_temperature_u8_Tensor_PKD3_to_PKD3: PASSED
5: color_temperature_u8_Tensor_PKD3_to_PLN3: PASSED
5: color_temperature_f32_Tensor_PKD3_to_PKD3: PASSED
5: color_temperature_f32_Tensor_PKD3_to_PLN3: PASSED
5: color_temperature_u8_Tensor_PLN3_to_PLN3: PASSED
5: color_temperature_u8_Tensor_PLN3_to_PKD3: PASSED
5: color_temperature_f32_Tensor_PLN3_to_PLN3: PASSED
5: color_temperature_f32_Tensor_PLN3_to_PKD3: PASSED
5: vignette_u8_Tensor_PKD3_to_PKD3: PASSED
5: vignette_u8_Tensor_PKD3_to_PLN3: PASSED
5: vignette_f32_Tensor_PKD3_to_PKD3: PASSED
5: vignette_f32_Tensor_PKD3_to_PLN3: PASSED
5: vignette_u8_Tensor_PLN3_to_PLN3: PASSED
5: vignette_u8_Tensor_PLN3_to_PKD3: PASSED
5: vignette_f32_Tensor_PLN3_to_PLN3: PASSED
5: vignette_f32_Tensor_PLN3_to_PKD3: PASSED
5: vignette_u8_Tensor_PLN1_to_PLN1: PASSED
5: vignette_f32_Tensor_PLN1_to_PLN1: PASSED
5: box_filter_u8_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: box_filter_u8_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: box_filter_u8_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: box_filter_u8_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: box_filter_u8_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: box_filter_u8_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: box_filter_u8_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: box_filter_u8_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: box_filter_f32_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: box_filter_f32_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: box_filter_f32_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: box_filter_f32_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: box_filter_f32_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: box_filter_f32_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: box_filter_f32_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: box_filter_f32_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: box_filter_u8_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: box_filter_u8_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: box_filter_u8_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: box_filter_u8_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: box_filter_u8_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: box_filter_u8_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: box_filter_u8_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: box_filter_u8_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: box_filter_f32_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: box_filter_f32_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: box_filter_f32_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: box_filter_f32_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: box_filter_f32_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: box_filter_f32_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: box_filter_f32_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: box_filter_f32_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: box_filter_u8_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: box_filter_u8_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: box_filter_u8_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: box_filter_u8_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: box_filter_f32_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: box_filter_f32_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: box_filter_f32_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: box_filter_f32_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize3_gradientX: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize3_gradientY: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize3_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize5_gradientX: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize5_gradientY: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize5_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize7_gradientX: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize7_gradientY: PASSED
5: sobel_filter_u8_Tensor_PKD3_to_PLN1_kernelSize7_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize3_gradientX: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize3_gradientY: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize3_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize5_gradientX: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize5_gradientY: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize5_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize7_gradientX: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize7_gradientY: PASSED
5: sobel_filter_f32_Tensor_PKD3_to_PLN1_kernelSize7_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize3_gradientX: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize3_gradientY: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize3_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize5_gradientX: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize5_gradientY: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize5_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize7_gradientX: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize7_gradientY: PASSED
5: sobel_filter_u8_Tensor_PLN3_to_PLN1_kernelSize7_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize3_gradientX: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize3_gradientY: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize3_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize5_gradientX: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize5_gradientY: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize5_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize7_gradientX: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize7_gradientY: PASSED
5: sobel_filter_f32_Tensor_PLN3_to_PLN1_kernelSize7_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize3_gradientX: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize3_gradientY: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize3_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize5_gradientX: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize5_gradientY: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize5_gradientXY: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize7_gradientX: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize7_gradientY: PASSED
5: sobel_filter_u8_Tensor_PLN1_to_PLN1_kernelSize7_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize3_gradientX: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize3_gradientY: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize3_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize5_gradientX: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize5_gradientY: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize5_gradientXY: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize7_gradientX: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize7_gradientY: PASSED
5: sobel_filter_f32_Tensor_PLN1_to_PLN1_kernelSize7_gradientXY: PASSED
5: median_filter_u8_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: median_filter_u8_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: median_filter_u8_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: median_filter_u8_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: median_filter_u8_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: median_filter_u8_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: median_filter_u8_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: median_filter_u8_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: median_filter_f32_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: median_filter_f32_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: median_filter_f32_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: median_filter_f32_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: median_filter_f32_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: median_filter_f32_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: median_filter_f32_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: median_filter_f32_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: median_filter_u8_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: median_filter_u8_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: median_filter_u8_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: median_filter_u8_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: median_filter_u8_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: median_filter_u8_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: median_filter_u8_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: median_filter_u8_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: median_filter_f32_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: median_filter_f32_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: median_filter_f32_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: median_filter_f32_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: median_filter_f32_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: median_filter_f32_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: median_filter_f32_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: median_filter_f32_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: median_filter_u8_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: median_filter_u8_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: median_filter_u8_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: median_filter_u8_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: median_filter_f32_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: median_filter_f32_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: median_filter_f32_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: median_filter_f32_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: gaussian_filter_u8_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: gaussian_filter_f32_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: gaussian_filter_u8_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: gaussian_filter_f32_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: gaussian_filter_u8_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: gaussian_filter_u8_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: gaussian_filter_u8_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: gaussian_filter_u8_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: gaussian_filter_f32_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: gaussian_filter_f32_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: gaussian_filter_f32_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: gaussian_filter_f32_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: magnitude_u8_Tensor_PKD3_to_PKD3: PASSED
5: magnitude_u8_Tensor_PKD3_to_PLN3: PASSED
5: magnitude_f32_Tensor_PKD3_to_PKD3: PASSED
5: magnitude_f32_Tensor_PKD3_to_PLN3: PASSED
5: magnitude_u8_Tensor_PLN3_to_PLN3: PASSED
5: magnitude_u8_Tensor_PLN3_to_PKD3: PASSED
5: magnitude_f32_Tensor_PLN3_to_PLN3: PASSED
5: magnitude_f32_Tensor_PLN3_to_PKD3: PASSED
5: magnitude_u8_Tensor_PLN1_to_PLN1: PASSED
5: magnitude_f32_Tensor_PLN1_to_PLN1: PASSED
5: phase_u8_Tensor_PKD3_to_PKD3: PASSED
5: phase_u8_Tensor_PKD3_to_PLN3: PASSED
5: phase_f32_Tensor_PKD3_to_PKD3: PASSED
5: phase_f32_Tensor_PKD3_to_PLN3: PASSED
5: phase_u8_Tensor_PLN3_to_PLN3: PASSED
5: phase_u8_Tensor_PLN3_to_PKD3: PASSED
5: phase_f32_Tensor_PLN3_to_PLN3: PASSED
5: phase_f32_Tensor_PLN3_to_PKD3: PASSED
5: phase_u8_Tensor_PLN1_to_PLN1: PASSED
5: phase_f32_Tensor_PLN1_to_PLN1: PASSED
5: bitwise_and_u8_Tensor_PKD3_to_PKD3: PASSED
5: bitwise_and_u8_Tensor_PKD3_to_PLN3: PASSED
5: bitwise_and_u8_Tensor_PLN3_to_PLN3: PASSED
5: bitwise_and_u8_Tensor_PLN3_to_PKD3: PASSED
5: bitwise_and_u8_Tensor_PLN1_to_PLN1: PASSED
5: bitwise_not_u8_Tensor_PKD3_to_PKD3: PASSED
5: bitwise_not_u8_Tensor_PKD3_to_PLN3: PASSED
5: bitwise_not_u8_Tensor_PLN3_to_PLN3: PASSED
5: bitwise_not_u8_Tensor_PLN3_to_PKD3: PASSED
5: bitwise_not_u8_Tensor_PLN1_to_PLN1: PASSED
5: bitwise_xor_u8_Tensor_PKD3_to_PKD3: PASSED
5: bitwise_xor_u8_Tensor_PKD3_to_PLN3: PASSED
5: bitwise_xor_u8_Tensor_PLN3_to_PLN3: PASSED
5: bitwise_xor_u8_Tensor_PLN3_to_PKD3: PASSED
5: bitwise_xor_u8_Tensor_PLN1_to_PLN1: PASSED
5: bitwise_or_u8_Tensor_PKD3_to_PKD3: PASSED
5: bitwise_or_u8_Tensor_PKD3_to_PLN3: PASSED
5: bitwise_or_u8_Tensor_PLN3_to_PLN3: PASSED
5: bitwise_or_u8_Tensor_PLN3_to_PKD3: PASSED
5: bitwise_or_u8_Tensor_PLN1_to_PLN1: PASSED
5: copy_u8_Tensor_PKD3_to_PKD3: PASSED
5: copy_u8_Tensor_PKD3_to_PLN3: PASSED
5: copy_f32_Tensor_PKD3_to_PKD3: PASSED
5: copy_f32_Tensor_PKD3_to_PLN3: PASSED
5: copy_u8_Tensor_PLN3_to_PLN3: PASSED
5: copy_u8_Tensor_PLN3_to_PKD3: PASSED
5: copy_f32_Tensor_PLN3_to_PLN3: PASSED
5: copy_f32_Tensor_PLN3_to_PKD3: PASSED
5: copy_u8_Tensor_PLN1_to_PLN1: PASSED
5: copy_f32_Tensor_PLN1_to_PLN1: PASSED
5: remap_u8_Tensor_PKD3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: remap_u8_Tensor_PKD3_to_PKD3_interpolationTypeBilinear: PASSED
5: remap_u8_Tensor_PKD3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: remap_u8_Tensor_PKD3_to_PLN3_interpolationTypeBilinear: PASSED
5: remap_f32_Tensor_PKD3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: remap_f32_Tensor_PKD3_to_PKD3_interpolationTypeBilinear: PASSED
5: remap_f32_Tensor_PKD3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: remap_f32_Tensor_PKD3_to_PLN3_interpolationTypeBilinear: PASSED
5: remap_u8_Tensor_PLN3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: remap_u8_Tensor_PLN3_to_PLN3_interpolationTypeBilinear: PASSED
5: remap_u8_Tensor_PLN3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: remap_u8_Tensor_PLN3_to_PKD3_interpolationTypeBilinear: PASSED
5: remap_f32_Tensor_PLN3_to_PLN3_interpolationTypeNearestNeighbor: PASSED
5: remap_f32_Tensor_PLN3_to_PLN3_interpolationTypeBilinear: PASSED
5: remap_f32_Tensor_PLN3_to_PKD3_interpolationTypeNearestNeighbor: PASSED
5: remap_f32_Tensor_PLN3_to_PKD3_interpolationTypeBilinear: PASSED
5: remap_u8_Tensor_PLN1_to_PLN1_interpolationTypeNearestNeighbor: PASSED
5: remap_u8_Tensor_PLN1_to_PLN1_interpolationTypeBilinear: PASSED
5: remap_f32_Tensor_PLN1_to_PLN1_interpolationTypeNearestNeighbor: PASSED
5: remap_f32_Tensor_PLN1_to_PLN1_interpolationTypeBilinear: PASSED
5: resize_mirror_normalize_u8_Tensor_PKD3_to_PKD3: PASSED
5: resize_mirror_normalize_u8_Tensor_PKD3_to_PLN3: PASSED
5: resize_mirror_normalize_f32_Tensor_PKD3_to_PKD3: PASSED
5: resize_mirror_normalize_f32_Tensor_PKD3_to_PLN3: PASSED
5: resize_mirror_normalize_u8_Tensor_PLN3_to_PLN3: PASSED
5: resize_mirror_normalize_u8_Tensor_PLN3_to_PKD3: PASSED
5: resize_mirror_normalize_f32_Tensor_PLN3_to_PLN3: PASSED
5: resize_mirror_normalize_f32_Tensor_PLN3_to_PKD3: PASSED
5: resize_mirror_normalize_u8_Tensor_PLN1_to_PLN1: PASSED
5: resize_mirror_normalize_f32_Tensor_PLN1_to_PLN1: PASSED
5: ricap_u8_Tensor_PKD3_to_PKD3: PASSED
5: ricap_u8_Tensor_PKD3_to_PLN3: PASSED
5: ricap_f32_Tensor_PKD3_to_PKD3: PASSED
5: ricap_f32_Tensor_PKD3_to_PLN3: PASSED
5: ricap_u8_Tensor_PLN3_to_PLN3: PASSED
5: ricap_u8_Tensor_PLN3_to_PKD3: PASSED
5: ricap_f32_Tensor_PLN3_to_PLN3: PASSED
5: ricap_f32_Tensor_PLN3_to_PKD3: PASSED
5: ricap_u8_Tensor_PLN1_to_PLN1: PASSED
5: ricap_f32_Tensor_PLN1_to_PLN1: PASSED
5: gridmask_u8_Tensor_PKD3_to_PKD3: PASSED
5: gridmask_u8_Tensor_PKD3_to_PLN3: PASSED
5: gridmask_f32_Tensor_PKD3_to_PKD3: PASSED
5: gridmask_f32_Tensor_PKD3_to_PLN3: PASSED
5: gridmask_u8_Tensor_PLN3_to_PLN3: PASSED
5: gridmask_u8_Tensor_PLN3_to_PKD3: PASSED
5: gridmask_f32_Tensor_PLN3_to_PLN3: PASSED
5: gridmask_f32_Tensor_PLN3_to_PKD3: PASSED
5: gridmask_u8_Tensor_PLN1_to_PLN1: PASSED
5: gridmask_f32_Tensor_PLN1_to_PLN1: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PKD3_permOrder0: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PKD3_permOrder1: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PKD3_permOrder2: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PKD3_permOrder3: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PKD3_permOrder4: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PKD3_permOrder5: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PLN3_permOrder0: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PLN3_permOrder1: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PLN3_permOrder2: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PLN3_permOrder3: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PLN3_permOrder4: PASSED
5: channel_permute_u8_Tensor_PKD3_to_PLN3_permOrder5: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PKD3_permOrder0: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PKD3_permOrder1: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PKD3_permOrder2: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PKD3_permOrder3: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PKD3_permOrder4: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PKD3_permOrder5: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PLN3_permOrder0: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PLN3_permOrder1: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PLN3_permOrder2: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PLN3_permOrder3: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PLN3_permOrder4: PASSED
5: channel_permute_f32_Tensor_PKD3_to_PLN3_permOrder5: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PLN3_permOrder0: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PLN3_permOrder1: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PLN3_permOrder2: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PLN3_permOrder3: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PLN3_permOrder4: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PLN3_permOrder5: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PKD3_permOrder0: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PKD3_permOrder1: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PKD3_permOrder2: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PKD3_permOrder3: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PKD3_permOrder4: PASSED
5: channel_permute_u8_Tensor_PLN3_to_PKD3_permOrder5: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PLN3_permOrder0: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PLN3_permOrder1: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PLN3_permOrder2: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PLN3_permOrder3: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PLN3_permOrder4: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PLN3_permOrder5: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PKD3_permOrder0: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PKD3_permOrder1: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PKD3_permOrder2: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PKD3_permOrder3: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PKD3_permOrder4: PASSED
5: channel_permute_f32_Tensor_PLN3_to_PKD3_permOrder5: PASSED
5: channel_permute_u8_Tensor_PLN1_to_PLN1_permOrder0: PASSED
5: channel_permute_u8_Tensor_PLN1_to_PLN1_permOrder1: PASSED
5: channel_permute_u8_Tensor_PLN1_to_PLN1_permOrder2: PASSED
5: channel_permute_u8_Tensor_PLN1_to_PLN1_permOrder3: PASSED
5: channel_permute_u8_Tensor_PLN1_to_PLN1_permOrder4: PASSED
5: channel_permute_u8_Tensor_PLN1_to_PLN1_permOrder5: PASSED
5: channel_permute_f32_Tensor_PLN1_to_PLN1_permOrder0: PASSED
5: channel_permute_f32_Tensor_PLN1_to_PLN1_permOrder1: PASSED
5: channel_permute_f32_Tensor_PLN1_to_PLN1_permOrder2: PASSED
5: channel_permute_f32_Tensor_PLN1_to_PLN1_permOrder3: PASSED
5: channel_permute_f32_Tensor_PLN1_to_PLN1_permOrder4: PASSED
5: channel_permute_f32_Tensor_PLN1_to_PLN1_permOrder5: PASSED
5: color_to_greyscale_u8_Tensor_PKD3_to_PLN1: PASSED
5: color_to_greyscale_f32_Tensor_PKD3_to_PLN1: PASSED
5: color_to_greyscale_u8_Tensor_PLN3_to_PLN1: PASSED
5: color_to_greyscale_f32_Tensor_PLN3_to_PLN1: PASSED
5: tensor_sum_u8_Tensor_PKD3: PASSED
5: tensor_sum_f32_Tensor_PKD3: PASSED
5: tensor_sum_u8_Tensor_PLN3: PASSED
5: tensor_sum_f32_Tensor_PLN3: PASSED
5: tensor_sum_u8_Tensor_PLN1: PASSED
5: tensor_sum_f32_Tensor_PLN1: PASSED
5: tensor_min_u8_Tensor_PKD3: PASSED
5: tensor_min_f32_Tensor_PKD3: PASSED
5: tensor_min_u8_Tensor_PLN3: PASSED
5: tensor_min_f32_Tensor_PLN3: PASSED
5: tensor_min_u8_Tensor_PLN1: PASSED
5: tensor_min_f32_Tensor_PLN1: PASSED
5: tensor_max_u8_Tensor_PKD3: PASSED
5: tensor_max_f32_Tensor_PKD3: PASSED
5: tensor_max_u8_Tensor_PLN3: PASSED
5: tensor_max_f32_Tensor_PLN3: PASSED
5: tensor_max_u8_Tensor_PLN1: PASSED
5: tensor_max_f32_Tensor_PLN1: PASSED
5: tensor_mean_u8_Tensor_PKD3: PASSED
5: tensor_mean_f32_Tensor_PKD3: PASSED
5: tensor_mean_u8_Tensor_PLN3: PASSED
5: tensor_mean_f32_Tensor_PLN3: PASSED
5: tensor_mean_u8_Tensor_PLN1: PASSED
5: tensor_mean_f32_Tensor_PLN1: PASSED
5: tensor_stddev_u8_Tensor_PKD3: PASSED
5: tensor_stddev_f32_Tensor_PKD3: PASSED
5: tensor_stddev_u8_Tensor_PLN3: PASSED
5: tensor_stddev_f32_Tensor_PLN3: PASSED
5: tensor_stddev_u8_Tensor_PLN1: PASSED
5: tensor_stddev_f32_Tensor_PLN1: PASSED
5: slice_u8_Tensor_PKD3_to_PKD3: PASSED
5: slice_f32_Tensor_PKD3_to_PKD3: PASSED
5: slice_u8_Tensor_PLN3_to_PLN3: PASSED
5: slice_f32_Tensor_PLN3_to_PLN3: PASSED
5: slice_u8_Tensor_PLN1_to_PLN1: PASSED
5: slice_f32_Tensor_PLN1_to_PLN1: PASSED
5: jpeg_compression_distortion_u8_Tensor_PKD3_to_PKD3: FAILED
5: jpeg_compression_distortion_u8_Tensor_PKD3_to_PLN3: FAILED
5: jpeg_compression_distortion_f32_Tensor_PKD3_to_PKD3: FAILED
5: jpeg_compression_distortion_f32_Tensor_PKD3_to_PLN3: FAILED
5: jpeg_compression_distortion_u8_Tensor_PLN3_to_PLN3: FAILED
5: jpeg_compression_distortion_u8_Tensor_PLN3_to_PKD3: FAILED
5: jpeg_compression_distortion_f32_Tensor_PLN3_to_PLN3: PASSED
5: jpeg_compression_distortion_f32_Tensor_PLN3_to_PKD3: FAILED
5: jpeg_compression_distortion_u8_Tensor_PLN1_to_PLN1: PASSED
5: jpeg_compression_distortion_f32_Tensor_PLN1_to_PLN1: PASSED
5: posterize_u8_Tensor_PKD3_to_PKD3: PASSED
5: posterize_u8_Tensor_PKD3_to_PLN3: PASSED
5: posterize_f32_Tensor_PKD3_to_PKD3: PASSED
5: posterize_f32_Tensor_PKD3_to_PLN3: PASSED
5: posterize_u8_Tensor_PLN3_to_PLN3: PASSED
5: posterize_u8_Tensor_PLN3_to_PKD3: PASSED
5: posterize_f32_Tensor_PLN3_to_PLN3: PASSED
5: posterize_f32_Tensor_PLN3_to_PKD3: PASSED
5: posterize_u8_Tensor_PLN1_to_PLN1: PASSED
5: posterize_f32_Tensor_PLN1_to_PLN1: PASSED
5: solarize_u8_Tensor_PKD3_to_PKD3: PASSED
5: solarize_u8_Tensor_PKD3_to_PLN3: PASSED
5: solarize_f32_Tensor_PKD3_to_PKD3: PASSED
5: solarize_f32_Tensor_PKD3_to_PLN3: PASSED
5: solarize_u8_Tensor_PLN3_to_PLN3: PASSED
5: solarize_u8_Tensor_PLN3_to_PKD3: PASSED
5: solarize_f32_Tensor_PLN3_to_PLN3: PASSED
5: solarize_f32_Tensor_PLN3_to_PKD3: PASSED
5: solarize_u8_Tensor_PLN1_to_PLN1: PASSED
5: solarize_f32_Tensor_PLN1_to_PLN1: PASSED
5: channel_dropout_u8_Tensor_PKD3_to_PKD3: PASSED
5: channel_dropout_u8_Tensor_PKD3_to_PLN3: PASSED
5: channel_dropout_f32_Tensor_PKD3_to_PKD3: PASSED
5: channel_dropout_f32_Tensor_PKD3_to_PLN3: PASSED
5: channel_dropout_u8_Tensor_PLN3_to_PLN3: PASSED
5: channel_dropout_u8_Tensor_PLN3_to_PKD3: PASSED
5: channel_dropout_f32_Tensor_PLN3_to_PLN3: PASSED
5: channel_dropout_f32_Tensor_PLN3_to_PKD3: PASSED
5: channel_dropout_u8_Tensor_PLN1_to_PLN1: PASSED
5: channel_dropout_f32_Tensor_PLN1_to_PLN1: PASSED
5: cutout_dropout_u8_Tensor_PKD3_to_PKD3: PASSED
5: cutout_dropout_u8_Tensor_PKD3_to_PLN3: PASSED
5: cutout_dropout_f32_Tensor_PKD3_to_PKD3: PASSED
5: cutout_dropout_f32_Tensor_PKD3_to_PLN3: PASSED
5: cutout_dropout_u8_Tensor_PLN3_to_PLN3: PASSED
5: cutout_dropout_u8_Tensor_PLN3_to_PKD3: PASSED
5: cutout_dropout_f32_Tensor_PLN3_to_PLN3: PASSED
5: cutout_dropout_f32_Tensor_PLN3_to_PKD3: PASSED
5: cutout_dropout_u8_Tensor_PLN1_to_PLN1: PASSED
5: cutout_dropout_f32_Tensor_PLN1_to_PLN1: PASSED
5: grid_dropout_u8_Tensor_PKD3_to_PKD3: PASSED
5: grid_dropout_u8_Tensor_PKD3_to_PLN3: PASSED
5: grid_dropout_f32_Tensor_PKD3_to_PKD3: PASSED
5: grid_dropout_f32_Tensor_PKD3_to_PLN3: PASSED
5: grid_dropout_u8_Tensor_PLN3_to_PLN3: PASSED
5: grid_dropout_u8_Tensor_PLN3_to_PKD3: PASSED
5: grid_dropout_f32_Tensor_PLN3_to_PLN3: PASSED
5: grid_dropout_f32_Tensor_PLN3_to_PKD3: PASSED
5: grid_dropout_u8_Tensor_PLN1_to_PLN1: PASSED
5: grid_dropout_f32_Tensor_PLN1_to_PLN1: PASSED
5: random_erase_u8_Tensor_PKD3_to_PKD3: PASSED
5: random_erase_u8_Tensor_PKD3_to_PLN3: PASSED
5: random_erase_f32_Tensor_PKD3_to_PKD3: PASSED
5: random_erase_f32_Tensor_PKD3_to_PLN3: PASSED
5: random_erase_u8_Tensor_PLN3_to_PLN3: PASSED
5: random_erase_u8_Tensor_PLN3_to_PKD3: PASSED
5: random_erase_f32_Tensor_PLN3_to_PLN3: PASSED
5: random_erase_f32_Tensor_PLN3_to_PKD3: PASSED
5: random_erase_u8_Tensor_PLN1_to_PLN1: PASSED
5: random_erase_f32_Tensor_PLN1_to_PLN1: PASSED
5: coarse_u8_Tensor_PKD3_to_PKD3: PASSED
5: coarse_u8_Tensor_PKD3_to_PLN3: PASSED
5: coarse_f32_Tensor_PKD3_to_PKD3: PASSED
5: coarse_f32_Tensor_PKD3_to_PLN3: PASSED
5: coarse_u8_Tensor_PLN3_to_PLN3: PASSED
5: coarse_u8_Tensor_PLN3_to_PKD3: PASSED
5: coarse_f32_Tensor_PLN3_to_PLN3: PASSED
5: coarse_f32_Tensor_PLN3_to_PKD3: PASSED
5: coarse_u8_Tensor_PLN1_to_PLN1: PASSED
5: coarse_f32_Tensor_PLN1_to_PLN1: PASSED
5: emboss_u8_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: emboss_u8_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: emboss_u8_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: emboss_u8_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: emboss_u8_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: emboss_u8_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: emboss_u8_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: emboss_u8_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: emboss_f32_Tensor_PKD3_to_PKD3_kernelSize3: PASSED
5: emboss_f32_Tensor_PKD3_to_PKD3_kernelSize5: PASSED
5: emboss_f32_Tensor_PKD3_to_PKD3_kernelSize7: PASSED
5: emboss_f32_Tensor_PKD3_to_PKD3_kernelSize9: PASSED
5: emboss_f32_Tensor_PKD3_to_PLN3_kernelSize3: PASSED
5: emboss_f32_Tensor_PKD3_to_PLN3_kernelSize5: PASSED
5: emboss_f32_Tensor_PKD3_to_PLN3_kernelSize7: PASSED
5: emboss_f32_Tensor_PKD3_to_PLN3_kernelSize9: PASSED
5: emboss_u8_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: emboss_u8_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: emboss_u8_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: emboss_u8_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: emboss_u8_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: emboss_u8_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: emboss_u8_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: emboss_u8_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: emboss_f32_Tensor_PLN3_to_PLN3_kernelSize3: PASSED
5: emboss_f32_Tensor_PLN3_to_PLN3_kernelSize5: PASSED
5: emboss_f32_Tensor_PLN3_to_PLN3_kernelSize7: PASSED
5: emboss_f32_Tensor_PLN3_to_PLN3_kernelSize9: PASSED
5: emboss_f32_Tensor_PLN3_to_PKD3_kernelSize3: PASSED
5: emboss_f32_Tensor_PLN3_to_PKD3_kernelSize5: PASSED
5: emboss_f32_Tensor_PLN3_to_PKD3_kernelSize7: PASSED
5: emboss_f32_Tensor_PLN3_to_PKD3_kernelSize9: PASSED
5: emboss_u8_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: emboss_u8_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: emboss_u8_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: emboss_u8_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: emboss_f32_Tensor_PLN1_to_PLN1_kernelSize3: PASSED
5: emboss_f32_Tensor_PLN1_to_PLN1_kernelSize5: PASSED
5: emboss_f32_Tensor_PLN1_to_PLN1_kernelSize7: PASSED
5: emboss_f32_Tensor_PLN1_to_PLN1_kernelSize9: PASSED
5: histogram_equalize_u8_Tensor_PKD3_to_PKD3: PASSED
5: histogram_equalize_u8_Tensor_PKD3_to_PLN3: PASSED
5: histogram_equalize_u8_Tensor_PLN3_to_PLN3: PASSED
5: histogram_equalize_u8_Tensor_PLN3_to_PKD3: PASSED
5: histogram_equalize_u8_Tensor_PLN1_to_PLN1: PASSED
5: yuv_to_rgb_u8_Tensor_PKD3_to_PKD3: PASSED
5:
5: ---------------------------------- Summary of QA Test - Tensor_image_hip ----------------------------------
5:
5: Final Results of Tests:
5:     - Total test cases including all subvariants REQUESTED = 903
5:     - Total test cases including all subvariants PASSED = 896

Submission Checklist

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the HIP backend’s NHWC (PKD3) grid_dropout kernel indexing so pixels are addressed using the correct n/h/w strides, preventing incorrect writes and potential out-of-bounds access in QA test mode.

Changes:

  • Update the HIP PKD3 grid-dropout kernel to use nStride/hStride/wStride for NHWC indexing and write packed RGB without an extra * 3 scale.
  • Pass dstDescPtr->strides.wStride into the kernel (switch uint2uint3) to correctly compute element offsets.
  • Test-suite cleanup: remove an unused variable and ensure anchorBoxInfoTensor is freed for GRID_DROPOUT.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
utilities/test_suite/HIP/Tensor_image_hip.cpp Removes unused variable and adds missing host free for grid-dropout test allocations.
src/modules/tensor/hip/kernel/grid_dropout.cpp Corrects NHWC PKD3 destination indexing by using n/h/w strides and correct packed stores.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@LakshmiKumar23
Copy link
Copy Markdown
Contributor Author

@kiritigowda kiritigowda merged commit 4daf00e into ROCm:develop Apr 8, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants