blob: 812658cd029976a0a96c2f0146d5bde280979d68 [file] [log] [blame]
Marat Dukhan4ed53f42020-08-06 01:12:55 -07001#!/bin/sh
2# Copyright 2020 Google LLC
3#
4# This source code is licensed under the BSD-style license found in the
5# LICENSE file in the root directory of this source tree.
6
Marat Dukhan047b6202021-05-11 20:32:25 -07007################################### Scalar ####################################
Marat Dukhand7a4b222022-01-11 22:25:20 -08008tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=1 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=IMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c1.c &
9tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=2 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=IMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c2.c &
10tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=4 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=IMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c4.c &
Marat Dukhan047b6202021-05-11 20:32:25 -070011
Marat Dukhand7a4b222022-01-11 22:25:20 -080012tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=1 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=FMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c1.c &
13tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=2 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=FMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c2.c &
14tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=4 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=FMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c4.c &
15
16tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=1 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=LRINTF -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c1.c &
17tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=2 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=LRINTF -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c2.c &
18tools/xngen src/qs8-gavgpool/unipass-scalar.c.in -D ROW_TILE=7 -D CHANNEL_TILE=4 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=LRINTF -D WASM=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c4.c &
19
20tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=1 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=IMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c1.c &
21tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=2 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=IMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c2.c &
22tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=4 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=IMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c4.c &
23
24tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=1 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=FMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c1.c &
25tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=2 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=FMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c2.c &
26tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=4 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=FMAGIC -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c4.c &
27
28tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=1 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=LRINTF -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c1.c &
29tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=2 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=LRINTF -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c2.c &
30tools/xngen src/qs8-gavgpool/multipass-scalar.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=4 -D ACCUMULATORS=1 -D REQUANTIZATION=FP32 -D VARIANT=LRINTF -D WASM=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c4.c &
Marat Dukhan047b6202021-05-11 20:32:25 -070031
Marat Dukhan281262d2020-08-10 13:23:21 -070032################################## ARM NEON ###################################
Marat Dukhan847ff5e2022-01-11 20:31:06 -080033tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c8-acc2.c &
34tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c16-acc2.c &
35tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c24-acc2.c &
36tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=32 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c32-acc2.c &
Marat Dukhan281262d2020-08-10 13:23:21 -070037
Marat Dukhand7a4b222022-01-11 22:25:20 -080038tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c8-acc2.c &
39tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c16-acc2.c &
40tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c24-acc2.c &
41tools/xngen src/qs8-gavgpool/unipass-neon.c.in -D ROW_TILE=7 -D CHANNEL_TILE=32 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c32-acc2.c &
42
Marat Dukhan847ff5e2022-01-11 20:31:06 -080043tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c8-acc2.c &
44tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c16-acc2.c &
45tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c24-acc2.c &
46tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=32 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=0 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c32-acc2.c &
Marat Dukhan281262d2020-08-10 13:23:21 -070047
Marat Dukhand7a4b222022-01-11 22:25:20 -080048tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c8-acc2.c &
49tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c16-acc2.c &
50tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c24-acc2.c &
51tools/xngen src/qs8-gavgpool/multipass-neon.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=32 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -D ARMV8=1 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c32-acc2.c &
52
Marat Dukhanef451802020-08-06 11:53:47 -070053################################## WAsm SIMD ##################################
Marat Dukhan847ff5e2022-01-11 20:31:06 -080054tools/xngen src/qs8-gavgpool/unipass-wasmsimd.c.in -D ROW_TILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-wasmsimd-c8-acc2.c &
55tools/xngen src/qs8-gavgpool/unipass-wasmsimd.c.in -D ROW_TILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-wasmsimd-c16-acc2.c &
56tools/xngen src/qs8-gavgpool/unipass-wasmsimd.c.in -D ROW_TILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-wasmsimd-c24-acc2.c &
Marat Dukhanef451802020-08-06 11:53:47 -070057
Marat Dukhan847ff5e2022-01-11 20:31:06 -080058tools/xngen src/qs8-gavgpool/multipass-wasmsimd.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-wasmsimd-c8-acc2.c &
59tools/xngen src/qs8-gavgpool/multipass-wasmsimd.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-wasmsimd-c16-acc2.c &
60tools/xngen src/qs8-gavgpool/multipass-wasmsimd.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-wasmsimd-c24-acc2.c &
Marat Dukhanb5e3d172020-08-06 13:29:53 -070061
Marat Dukhan4ed53f42020-08-06 01:12:55 -070062################################### x86 SSE ###################################
Marat Dukhan847ff5e2022-01-11 20:31:06 -080063tools/xngen src/qs8-gavgpool/unipass-sse.c.in -D ROW_TILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D SSE=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-sse2-c8-acc2.c &
64tools/xngen src/qs8-gavgpool/unipass-sse.c.in -D ROW_TILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D SSE=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-sse2-c16-acc2.c &
65tools/xngen src/qs8-gavgpool/unipass-sse.c.in -D ROW_TILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D SSE=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-sse2-c24-acc2.c &
Marat Dukhan4ed53f42020-08-06 01:12:55 -070066
Marat Dukhan847ff5e2022-01-11 20:31:06 -080067tools/xngen src/qs8-gavgpool/unipass-sse.c.in -D ROW_TILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D SSE=4 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-sse41-c8-acc2.c &
68tools/xngen src/qs8-gavgpool/unipass-sse.c.in -D ROW_TILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D SSE=4 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-sse41-c16-acc2.c &
69tools/xngen src/qs8-gavgpool/unipass-sse.c.in -D ROW_TILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D SSE=4 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7x-minmax-fp32-sse41-c24-acc2.c &
Marat Dukhan4ed53f42020-08-06 01:12:55 -070070
Marat Dukhan847ff5e2022-01-11 20:31:06 -080071tools/xngen src/qs8-gavgpool/multipass-sse.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D SSE=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse2-c8-acc2.c &
72tools/xngen src/qs8-gavgpool/multipass-sse.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D SSE=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse2-c16-acc2.c &
73tools/xngen src/qs8-gavgpool/multipass-sse.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D SSE=2 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse2-c24-acc2.c &
Marat Dukhan4ed53f42020-08-06 01:12:55 -070074
Marat Dukhan847ff5e2022-01-11 20:31:06 -080075tools/xngen src/qs8-gavgpool/multipass-sse.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=8 -D ACCUMULATORS=2 -D SSE=4 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse41-c8-acc2.c &
76tools/xngen src/qs8-gavgpool/multipass-sse.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=16 -D ACCUMULATORS=2 -D SSE=4 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse41-c16-acc2.c &
77tools/xngen src/qs8-gavgpool/multipass-sse.c.in -D ROW_TILE=7 -D ROW_SUBTILE=7 -D CHANNEL_TILE=24 -D ACCUMULATORS=2 -D SSE=4 -D REQUANTIZATION=FP32 -o src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse41-c24-acc2.c &
Marat Dukhan159688f2020-08-06 10:34:29 -070078
Marat Dukhan4ed53f42020-08-06 01:12:55 -070079################################## Unit tests #################################
Marat Dukhan847ff5e2022-01-11 20:31:06 -080080tools/generate-gavgpool-test.py --spec test/qs8-gavgpool-minmax-fp32.yaml --output test/qs8-gavgpool-minmax-fp32.cc &
Frank Barchardaae722a2021-08-30 12:37:30 -070081
82wait