diff options
-rw-r--r-- | Android.bp | 168 |
1 files changed, 162 insertions, 6 deletions
diff --git a/Android.bp b/Android.bp index 4ff076ce5..16b757e16 100644 --- a/Android.bp +++ b/Android.bp @@ -475,8 +475,6 @@ SCALAR_UKERNELS = [ "src/math/sigmoid-scalar-rr2-lut64-p2-div.c", "src/math/sigmoid-scalar-rr2-lut2048-p1-div.c", "src/math/sigmoid-scalar-rr2-p5-div.c", - "src/qs8-gemm/gen/8x8c4-minmax-scalar.c", - "src/qs8-gemm/gen/12x4c4-minmax-scalar.c", "src/qs8-requantization/fp32-scalar-lrintf.c", "src/qs8-requantization/fp32-scalar-magic.c", "src/qs8-requantization/precise-scalar-signed64.c", @@ -489,8 +487,6 @@ SCALAR_UKERNELS = [ "src/qu8-gavgpool/7p7x-minmax-scalar-c1.c", "src/qu8-gavgpool/7x-minmax-scalar-c1.c", "src/qu8-gemm/2x2-minmax-scalar.c", - "src/qu8-gemm/gen/8x8c4-minmax-scalar.c", - "src/qu8-gemm/gen/12x4c4-minmax-scalar.c", "src/qu8-igemm/2x2-minmax-scalar.c", "src/qu8-requantization/fp32-scalar-lrintf.c", "src/qu8-requantization/fp32-scalar-magic.c", @@ -632,6 +628,8 @@ NEON_UKERNELS = [ "src/f32-hswish/gen/hswish-neon-x4.c", "src/f32-hswish/gen/hswish-neon-x8.c", "src/f32-hswish/gen/hswish-neon-x16.c", + "src/f32-ibilinear-chw/gen/neon-p4.c", + "src/f32-ibilinear-chw/gen/neon-p8.c", "src/f32-ibilinear/gen/neon-c4.c", "src/f32-ibilinear/gen/neon-c8.c", "src/f32-igemm/gen/1x8-minmax-neon-dup-ld64.c", @@ -806,13 +804,117 @@ NEON_UKERNELS = [ "src/qs8-gavgpool/gen/7x-minmax-neon-c24-acc2.c", "src/qs8-gavgpool/gen/7x-minmax-neon-c32-acc2.c", "src/qs8-gemm/gen/1x8-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/1x8-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/1x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/1x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/1x8c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/1x8c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/1x8c16-minmax-neon-mlal-padal.c", "src/qs8-gemm/gen/1x16-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/1x16-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/1x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/1x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/1x16c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/1x16c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/1x16c16-minmax-neon-mlal-padal.c", "src/qs8-gemm/gen/2x8-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/2x8-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/2x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/2x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/2x8c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/2x8c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/2x8c16-minmax-neon-mlal-padal.c", "src/qs8-gemm/gen/2x16-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/2x16-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/2x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/2x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/2x16c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/2x16c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/2x16c16-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/3x8-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/3x8-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/3x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/3x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/3x8c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/3x8c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/3x8c16-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/3x16-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/3x16-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/3x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/3x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/3x16c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/3x16c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/3x16c16-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/4x8-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/4x8-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/4x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/4x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/4x8c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/4x8c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/4x8c16-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/4x16-minmax-neon-mlal-lane.c", + "src/qs8-gemm/gen/4x16-minmax-neon-mull-addw-dup.c", + "src/qs8-gemm/gen/4x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-gemm/gen/4x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-gemm/gen/4x16c8-minmax-neon-mlal-padal.c", + "src/qs8-gemm/gen/4x16c8-minmax-neon-mull-padal.c", + "src/qs8-gemm/gen/4x16c16-minmax-neon-mlal-padal.c", "src/qs8-igemm/gen/1x8-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/1x8-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/1x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/1x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/1x8c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/1x8c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/1x8c16-minmax-neon-mlal-padal.c", "src/qs8-igemm/gen/1x16-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/1x16-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/1x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/1x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/1x16c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/1x16c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/1x16c16-minmax-neon-mlal-padal.c", "src/qs8-igemm/gen/2x8-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/2x8-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/2x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/2x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/2x8c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/2x8c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/2x8c16-minmax-neon-mlal-padal.c", "src/qs8-igemm/gen/2x16-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/2x16-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/2x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/2x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/2x16c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/2x16c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/2x16c16-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/3x8-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/3x8-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/3x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/3x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/3x8c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/3x8c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/3x8c16-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/3x16-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/3x16-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/3x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/3x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/3x16c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/3x16c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/3x16c16-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/4x8-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/4x8-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/4x8c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/4x8c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/4x8c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/4x8c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/4x8c16-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/4x16-minmax-neon-mlal-lane.c", + "src/qs8-igemm/gen/4x16-minmax-neon-mull-addw-dup.c", + "src/qs8-igemm/gen/4x16c2-minmax-neon-mlal-padal-dup.c", + "src/qs8-igemm/gen/4x16c2-minmax-neon-mull-padal-dup.c", + "src/qs8-igemm/gen/4x16c8-minmax-neon-mlal-padal.c", + "src/qs8-igemm/gen/4x16c8-minmax-neon-mull-padal.c", + "src/qs8-igemm/gen/4x16c16-minmax-neon-mlal-padal.c", "src/qs8-requantization/fp32-neon.c", "src/qs8-requantization/precise-neon.c", "src/qs8-requantization/q31-neon.c", @@ -885,6 +987,8 @@ NEONFMA_UKERNELS = [ "src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld128.c", "src/f32-gemm/gen/6x8s4-minmax-neonfma.c", "src/f32-gemm/gen/8x8s4-minmax-neonfma.c", + "src/f32-ibilinear-chw/gen/neonfma-p4.c", + "src/f32-ibilinear-chw/gen/neonfma-p8.c", "src/f32-ibilinear/gen/neonfma-c4.c", "src/f32-ibilinear/gen/neonfma-c8.c", "src/f32-igemm/gen/1x8-minmax-neonfma-dup-ld64.c", @@ -1281,7 +1385,6 @@ NEONDOT_UKERNELS = [ "src/qs8-gemm/gen/6x16c4-minmax-neondot.c", "src/qs8-gemm/gen/8x8c4-minmax-neondot.c", "src/qs8-gemm/gen/8x16c4-minmax-neondot.c", - "src/qs8-gemm/gen/12x8c4-minmax-neondot.c", "src/qs8-igemm/gen/1x8c4-minmax-neondot.c", "src/qs8-igemm/gen/1x16c4-minmax-neondot.c", "src/qs8-igemm/gen/4x8c4-minmax-neondot.c", @@ -1290,7 +1393,6 @@ NEONDOT_UKERNELS = [ "src/qs8-igemm/gen/6x16c4-minmax-neondot.c", "src/qs8-igemm/gen/8x8c4-minmax-neondot.c", "src/qs8-igemm/gen/8x16c4-minmax-neondot.c", - "src/qs8-igemm/gen/12x8c4-minmax-neondot.c", ] SSE_UKERNELS = [ @@ -2563,9 +2665,18 @@ AARCH64_ASM_UKERNELS = [ "src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S", "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a57.S", "src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S", + "src/qs8-gemm/1x16c4-aarch64-neondot-ld32.S", "src/qs8-gemm/1x16c4-aarch64-neondot-ld64.S", + "src/qs8-gemm/2x8c8-aarch64-neon-mull-padal.S", + "src/qs8-gemm/2x8c8-aarch64-neon-mlal-padal.S", + "src/qs8-gemm/2x8c16-aarch64-neon-mlal-padal.S", "src/qs8-gemm/4x16c4-aarch64-neondot-cortex-a55.S", + "src/qs8-gemm/4x16c4-aarch64-neondot-ld32.S", "src/qs8-gemm/4x16c4-aarch64-neondot-ld64.S", + "src/qs8-igemm/2x8c8-aarch64-neon-mlal-padal.S", + "src/qs8-igemm/2x8c16-aarch64-neon-mlal-padal.S", + "src/qs8-igemm/4x16c4-aarch64-neondot-cortex-a55.S", + "src/qs8-igemm/4x16c4-aarch64-neondot-ld64.S", ] cc_defaults { @@ -3250,6 +3361,14 @@ cc_library_static { } cc_library_static { + name: "xnnpack_mobilenet_v1_fp32_sparse", + defaults: ["xnnpack_tests_default"], + srcs: [ + "models/fp32-sparse-mobilenet-v1.cc", + ], +} + +cc_library_static { name: "xnnpack_qs8_mobilenet_v1", defaults: ["xnnpack_tests_default"], srcs: [ @@ -3258,6 +3377,14 @@ cc_library_static { } cc_library_static { + name: "xnnpack_qu8_mobilenet_v1", + defaults: ["xnnpack_tests_default"], + srcs: [ + "models/qu8-mobilenet-v1.cc", + ], +} + +cc_library_static { name: "xnnpack_mobilenet_v1_fp16", defaults: ["xnnpack_tests_default"], srcs: [ @@ -3282,6 +3409,14 @@ cc_library_static { } cc_library_static { + name: "xnnpack_mobilenet_v2_fp32_sparse", + defaults: ["xnnpack_tests_default"], + srcs: [ + "models/fp32-sparse-mobilenet-v2.cc", + ], +} + +cc_library_static { name: "xnnpack_mobilenet_v2_fp16", defaults: ["xnnpack_tests_default"], srcs: [ @@ -3299,6 +3434,14 @@ cc_library_static { } cc_library_static { + name: "xnnpack_mobilenet_v3_large_fp32_sparse", + defaults: ["xnnpack_tests_default"], + srcs: [ + "models/fp32-sparse-mobilenet-v3-large.cc", + ], +} + +cc_library_static { name: "xnnpack_mobilenet_v3_large_fp16", defaults: ["xnnpack_tests_default"], srcs: [ @@ -3315,6 +3458,14 @@ cc_library_static { } cc_library_static { + name: "xnnpack_mobilenet_v3_small_fp32_sparse", + defaults: ["xnnpack_tests_default"], + srcs: [ + "models/fp32-sparse-mobilenet-v3-small.cc", + ], +} + +cc_library_static { name: "xnnpack_mobilenet_v3_small_fp16", defaults: ["xnnpack_tests_default"], srcs: [ @@ -3337,14 +3488,19 @@ cc_benchmark { "libgoogle-benchmark", "xnnpack_qs8_mobilenet_v1", "xnnpack_mobilenet_v1_fp32", + "xnnpack_mobilenet_v1_fp32_sparse", "xnnpack_mobilenet_v1_fp16", "xnnpack_qs8_mobilenet_v2", "xnnpack_mobilenet_v2_fp32", + "xnnpack_mobilenet_v2_fp32_sparse", "xnnpack_mobilenet_v2_fp16", "xnnpack_mobilenet_v3_large_fp32", + "xnnpack_mobilenet_v3_large_fp32_sparse", "xnnpack_mobilenet_v3_large_fp16", "xnnpack_mobilenet_v3_small_fp32", + "xnnpack_mobilenet_v3_small_fp32_sparse", "xnnpack_mobilenet_v3_small_fp16", + "xnnpack_qu8_mobilenet_v1", ], } |