#[macro_export]
macro_rules! testgen_convolution_problem_size {
($algorithm: expr, $dtypes: expr, $tiling_scheme: expr, $swizzle: expr, $partition_buffering: expr) => {
use $crate::suite::launcher_strategy::ConvolutionSize;
mod g4x4x1x1 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 4,
w: 4,
c: 1,
out_c: 1
}
);
}
mod g17x17x1x1 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 17,
w: 17,
c: 1,
out_c: 1
}
);
}
mod g16x16x16x32 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 16,
w: 16,
c: 16,
out_c: 32
}
);
}
mod g32x32x32x16 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 32,
w: 32,
c: 32,
out_c: 16
}
);
}
mod g64x32x32x128 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 64,
w: 32,
c: 32,
out_c: 128
}
);
}
mod g32x32x64x3 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 32,
w: 32,
c: 64,
out_c: 3
}
);
}
mod g20x20x16x32 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 20,
w: 20,
c: 16,
out_c: 32
}
);
}
mod g23x10x17x20 {
use super::*;
$crate::testgen_convolution_launch!(
$algorithm,
$dtypes,
$tiling_scheme,
$swizzle,
$partition_buffering,
ConvolutionSize {
h: 23,
w: 10,
c: 17,
out_c: 20
}
);
}
};
}