1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#!/bin/sh
# Copyright 2023 Google LLC
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
################################### ARM NEONFP16ARITH ##################################
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=8 -D ACCUMULATORS=1 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-neonfp16arith-u8.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=16 -D ACCUMULATORS=2 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-neonfp16arith-u16-acc2.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=24 -D ACCUMULATORS=3 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-neonfp16arith-u24-acc3.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=32 -D ACCUMULATORS=2 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc2.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=32 -D ACCUMULATORS=4 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=8 -D ACCUMULATORS=1 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-neonfp16arith-u8.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=16 -D ACCUMULATORS=2 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-neonfp16arith-u16-acc2.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=24 -D ACCUMULATORS=3 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-neonfp16arith-u24-acc3.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=32 -D ACCUMULATORS=2 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc2.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=32 -D ACCUMULATORS=4 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=8 -D ACCUMULATORS=1 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u8.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=16 -D ACCUMULATORS=2 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u16-acc2.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=24 -D ACCUMULATORS=3 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u24-acc3.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=32 -D ACCUMULATORS=2 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc2.c &
tools/xngen src/f16-rminmax/neonfp16arith.c.in -D BATCH_TILE=32 -D ACCUMULATORS=4 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c &
################################## x86 AVX512FP16 #################################
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=32 -D ACCUMULATORS=1 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512fp16-u32.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=64 -D ACCUMULATORS=2 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512fp16-u64-acc2.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=96 -D ACCUMULATORS=3 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512fp16-u96-acc3.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=128 -D ACCUMULATORS=2 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc2.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=128 -D ACCUMULATORS=4 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=32 -D ACCUMULATORS=1 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512fp16-u32.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=64 -D ACCUMULATORS=2 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512fp16-u64-acc2.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=96 -D ACCUMULATORS=3 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512fp16-u96-acc3.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=128 -D ACCUMULATORS=2 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc2.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=128 -D ACCUMULATORS=4 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=32 -D ACCUMULATORS=1 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512fp16-u32.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=64 -D ACCUMULATORS=2 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512fp16-u64-acc2.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=96 -D ACCUMULATORS=3 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512fp16-u96-acc3.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=128 -D ACCUMULATORS=2 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc2.c &
tools/xngen src/f16-rminmax/avx512fp16.c.in -D BATCH_TILE=128 -D ACCUMULATORS=4 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c &
################################## x86 AVX512SKX #################################
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=16 -D ACCUMULATORS=1 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512skx-u16.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=32 -D ACCUMULATORS=2 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512skx-u32-acc2.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=48 -D ACCUMULATORS=3 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512skx-u48-acc3.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=64 -D ACCUMULATORS=2 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc2.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=64 -D ACCUMULATORS=4 -D OP=MAX -o src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc4.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=16 -D ACCUMULATORS=1 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512skx-u16.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=32 -D ACCUMULATORS=2 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512skx-u32-acc2.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=48 -D ACCUMULATORS=3 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512skx-u48-acc3.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=64 -D ACCUMULATORS=2 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc2.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=64 -D ACCUMULATORS=4 -D OP=MIN -o src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc4.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=16 -D ACCUMULATORS=1 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512skx-u16.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=32 -D ACCUMULATORS=2 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512skx-u32-acc2.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=48 -D ACCUMULATORS=3 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512skx-u48-acc3.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=64 -D ACCUMULATORS=2 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc2.c &
tools/xngen src/f16-rminmax/avx512skx.c.in -D BATCH_TILE=64 -D ACCUMULATORS=4 -D OP=MINMAX -o src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc4.c &
#################################### Scalar ###################################
### Generic C micro-kernels
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=1 -D DATATYPE=F16 -D ACCUMULATORS=1 -D OP=MINMAX -D WASM=0 -o src/f16-rminmax/gen/f16-rminmax-scalar-u1.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=2 -D DATATYPE=F16 -D ACCUMULATORS=2 -D OP=MINMAX -D WASM=0 -o src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=3 -D DATATYPE=F16 -D ACCUMULATORS=3 -D OP=MINMAX -D WASM=0 -o src/f16-rminmax/gen/f16-rminmax-scalar-u3-acc3.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=4 -D DATATYPE=F16 -D ACCUMULATORS=2 -D OP=MINMAX -D WASM=0 -o src/f16-rminmax/gen/f16-rminmax-scalar-u4-acc2.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=4 -D DATATYPE=F16 -D ACCUMULATORS=4 -D OP=MINMAX -D WASM=0 -o src/f16-rminmax/gen/f16-rminmax-scalar-u4-acc4.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=1 -D DATATYPE=F16 -D ACCUMULATORS=1 -D OP=MAX -D WASM=0 -o src/f16-rminmax/gen/f16-rmax-scalar-u1.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=2 -D DATATYPE=F16 -D ACCUMULATORS=2 -D OP=MAX -D WASM=0 -o src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=3 -D DATATYPE=F16 -D ACCUMULATORS=3 -D OP=MAX -D WASM=0 -o src/f16-rminmax/gen/f16-rmax-scalar-u3-acc3.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=4 -D DATATYPE=F16 -D ACCUMULATORS=2 -D OP=MAX -D WASM=0 -o src/f16-rminmax/gen/f16-rmax-scalar-u4-acc2.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=4 -D DATATYPE=F16 -D ACCUMULATORS=4 -D OP=MAX -D WASM=0 -o src/f16-rminmax/gen/f16-rmax-scalar-u4-acc4.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=1 -D DATATYPE=F16 -D ACCUMULATORS=1 -D OP=MIN -D WASM=0 -o src/f16-rminmax/gen/f16-rmin-scalar-u1.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=2 -D DATATYPE=F16 -D ACCUMULATORS=2 -D OP=MIN -D WASM=0 -o src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=3 -D DATATYPE=F16 -D ACCUMULATORS=3 -D OP=MIN -D WASM=0 -o src/f16-rminmax/gen/f16-rmin-scalar-u3-acc3.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=4 -D DATATYPE=F16 -D ACCUMULATORS=2 -D OP=MIN -D WASM=0 -o src/f16-rminmax/gen/f16-rmin-scalar-u4-acc2.c &
tools/xngen src/f16-rminmax/scalar.c.in -D BATCH_TILE=4 -D DATATYPE=F16 -D ACCUMULATORS=4 -D OP=MIN -D WASM=0 -o src/f16-rminmax/gen/f16-rmin-scalar-u4-acc4.c &
wait
|