xref: /aosp_15_r20/external/XNNPACK/scripts/generate-f16-spmm.sh (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1#!/bin/sh
2# Copyright 2019 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
7################################### ARM NEON ##################################
8### Microkernels without unrolling
9tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=8  -D NR=1 -D UNROLL=1 -o src/f16-spmm/gen/8x1-minmax-neonfp16arith.c &
10tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=16 -D NR=1 -D UNROLL=1 -o src/f16-spmm/gen/16x1-minmax-neonfp16arith.c &
11tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=24 -D NR=1 -D UNROLL=1 -o src/f16-spmm/gen/24x1-minmax-neonfp16arith.c &
12tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=32 -D NR=1 -D UNROLL=1 -o src/f16-spmm/gen/32x1-minmax-neonfp16arith.c &
13### Microkernels with 2X unrolling
14tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=8  -D NR=1 -D UNROLL=2 -o src/f16-spmm/gen/8x1-minmax-neonfp16arith-x2.c &
15tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=16 -D NR=1 -D UNROLL=2 -o src/f16-spmm/gen/16x1-minmax-neonfp16arith-x2.c &
16tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=24 -D NR=1 -D UNROLL=2 -o src/f16-spmm/gen/24x1-minmax-neonfp16arith-x2.c &
17tools/xngen src/f16-spmm/neonfp16arith.c.in -D MR=32 -D NR=1 -D UNROLL=2 -o src/f16-spmm/gen/32x1-minmax-neonfp16arith-x2.c &
18
19################################## Unit tests #################################
20tools/generate-spmm-test.py --spec test/f16-spmm-minmax.yaml --output test/f16-spmm-minmax.cc &
21
22wait
23