1*4bdc9457SAndroid Build Coastguard Worker#!/bin/sh 2*4bdc9457SAndroid Build Coastguard Worker# Copyright 2019 Google LLC 3*4bdc9457SAndroid Build Coastguard Worker# 4*4bdc9457SAndroid Build Coastguard Worker# This source code is licensed under the BSD-style license found in the 5*4bdc9457SAndroid Build Coastguard Worker# LICENSE file in the root directory of this source tree. 6*4bdc9457SAndroid Build Coastguard Worker 7*4bdc9457SAndroid Build Coastguard Worker#################################### Scalar ################################### 8*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/scalar.c.in -D CHANNEL_TILE=1 -D ROW_TILE=2 -o src/f32-prelu/gen/scalar-2x1.c & 9*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/scalar.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/scalar-2x4.c & 10*4bdc9457SAndroid Build Coastguard Worker 11*4bdc9457SAndroid Build Coastguard Worker##################################### WAsm #################################### 12*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasm.c.in -D CHANNEL_TILE=1 -D ROW_TILE=2 -o src/f32-prelu/gen/wasm-2x1.c & 13*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasm.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/wasm-2x4.c & 14*4bdc9457SAndroid Build Coastguard Worker 15*4bdc9457SAndroid Build Coastguard Worker################################### ARM NEON ################################## 16*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=1 -o src/f32-prelu/gen/neon-1x4.c & 17*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=1 -o src/f32-prelu/gen/neon-1x8.c & 18*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=16 -D ROW_TILE=1 -o src/f32-prelu/gen/neon-1x16.c & 19*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x4.c & 20*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x8.c & 21*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x16.c & 22*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=4 -o src/f32-prelu/gen/neon-4x4.c & 23*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=4 -o src/f32-prelu/gen/neon-4x8.c & 24*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=16 -D ROW_TILE=4 -o src/f32-prelu/gen/neon-4x16.c & 25*4bdc9457SAndroid Build Coastguard Worker 26*4bdc9457SAndroid Build Coastguard Worker################################## WAsm SIMD ################################## 27*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=4 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-bitselect-1x4.c & 28*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=8 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-bitselect-1x8.c & 29*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=16 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-bitselect-1x16.c & 30*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-bitselect-2x4.c & 31*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-bitselect-2x8.c & 32*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-bitselect-2x16.c & 33*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=4 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-bitselect-4x4.c & 34*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=8 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-bitselect-4x8.c & 35*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-bitselect.c.in -D CHANNEL_TILE=16 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-bitselect-4x16.c & 36*4bdc9457SAndroid Build Coastguard Worker 37*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=4 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-minmax-1x4.c & 38*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=8 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-minmax-1x8.c & 39*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=16 -D ROW_TILE=1 -o src/f32-prelu/gen/wasmsimd-minmax-1x16.c & 40*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-minmax-2x4.c & 41*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-minmax-2x8.c & 42*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/wasmsimd-minmax-2x16.c & 43*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=4 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-minmax-4x4.c & 44*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=8 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-minmax-4x8.c & 45*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/wasmsimd-minmax.c.in -D CHANNEL_TILE=16 -D ROW_TILE=4 -o src/f32-prelu/gen/wasmsimd-minmax-4x16.c & 46*4bdc9457SAndroid Build Coastguard Worker 47*4bdc9457SAndroid Build Coastguard Worker################################### ARM NEON ################################## 48*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x4.c & 49*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/neon.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/neon-2x8.c & 50*4bdc9457SAndroid Build Coastguard Worker 51*4bdc9457SAndroid Build Coastguard Worker############################# x86 SSE/SSE2/SSE4.1 ############################# 52*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -D SSE=1 -o src/f32-prelu/gen/sse-2x4.c & 53*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -D SSE=1 -o src/f32-prelu/gen/sse-2x8.c & 54*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -D SSE=2 -o src/f32-prelu/gen/sse2-2x4.c & 55*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -D SSE=2 -o src/f32-prelu/gen/sse2-2x8.c & 56*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=4 -D ROW_TILE=2 -D SSE=4 -o src/f32-prelu/gen/sse41-2x4.c & 57*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/sse.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -D SSE=4 -o src/f32-prelu/gen/sse41-2x8.c & 58*4bdc9457SAndroid Build Coastguard Worker 59*4bdc9457SAndroid Build Coastguard Worker################################### x86 AVX ################################### 60*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/avx.c.in -D CHANNEL_TILE=8 -D ROW_TILE=2 -o src/f32-prelu/gen/avx-2x8.c & 61*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/avx.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/avx-2x16.c & 62*4bdc9457SAndroid Build Coastguard Worker 63*4bdc9457SAndroid Build Coastguard Worker################################## x86 AVX512 ################################# 64*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/avx512f.c.in -D CHANNEL_TILE=16 -D ROW_TILE=2 -o src/f32-prelu/gen/avx512f-2x16.c & 65*4bdc9457SAndroid Build Coastguard Workertools/xngen src/f32-prelu/avx512f.c.in -D CHANNEL_TILE=32 -D ROW_TILE=2 -o src/f32-prelu/gen/avx512f-2x32.c & 66*4bdc9457SAndroid Build Coastguard Worker 67*4bdc9457SAndroid Build Coastguard Worker################################## Unit tests ################################# 68*4bdc9457SAndroid Build Coastguard Workertools/generate-prelu-test.py --spec test/f32-prelu.yaml --output test/f32-prelu.cc & 69*4bdc9457SAndroid Build Coastguard Worker 70*4bdc9457SAndroid Build Coastguard Workerwait 71