Skip to content

Commit

Permalink
Clean up dependencies.
Browse files Browse the repository at this point in the history
The BUILD currently redundantly links a number of sources via different libraries (diamonds in the dependency graph), this is a step towards untangling this.

PiperOrigin-RevId: 642054479
  • Loading branch information
dsharletg authored and xnnpack-bot committed Jun 11, 2024
1 parent 56fa083 commit 1a6f88e
Show file tree
Hide file tree
Showing 35 changed files with 690 additions and 640 deletions.
8 changes: 4 additions & 4 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -213,11 +213,11 @@ JIT_WASMSIMD32_SRCS = JIT_WASM32_SRCS + JIT_WASMSIMD32_COMMONS_SRCS + WASMSIMD32

JIT_WASMRELAXEDSIMD32_SRCS = JIT_WASMSIMD32_SRCS + JIT_WASMRELAXEDSIMD32_COMMONS_SRCS + WASMRELAXEDSIMD32_JIT_MICROKERNEL_SRCS

ALL_MICROKERNEL_SRCS = ALL_NEON_AARCH64_MICROKERNEL_SRCS + ALL_NEONBF16_AARCH64_MICROKERNEL_SRCS + ALL_NEONDOT_AARCH64_MICROKERNEL_SRCS + ALL_NEONFMA_AARCH64_MICROKERNEL_SRCS + ALL_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS + ALL_ARMSIMD32_MICROKERNEL_SRCS + ALL_AVX_MICROKERNEL_SRCS + ALL_AVXVNNI_MICROKERNEL_SRCS + ALL_AVX2_MICROKERNEL_SRCS + ALL_AVX512F_MICROKERNEL_SRCS + ALL_AVX512SKX_MICROKERNEL_SRCS + ALL_AVX512VBMI_MICROKERNEL_SRCS + ALL_AVX512VNNI_MICROKERNEL_SRCS + ALL_AVX512VNNIGFNI_MICROKERNEL_SRCS + ALL_AVX512AMX_MICROKERNEL_SRCS + ALL_AVX512FP16_MICROKERNEL_SRCS + ALL_F16C_MICROKERNEL_SRCS + ALL_FMA_MICROKERNEL_SRCS + ALL_FMA3_MICROKERNEL_SRCS + ALL_FP16ARITH_MICROKERNEL_SRCS + ALL_HEXAGON_MICROKERNEL_SRCS + ALL_NEON_MICROKERNEL_SRCS + ALL_NEONBF16_MICROKERNEL_SRCS + ALL_NEONDOT_MICROKERNEL_SRCS + ALL_NEONDOTFP16ARITH_MICROKERNEL_SRCS + ALL_NEONFMA_MICROKERNEL_SRCS + ALL_NEONFP16_MICROKERNEL_SRCS + ALL_NEONFP16ARITH_MICROKERNEL_SRCS + ALL_NEONV8_MICROKERNEL_SRCS + ALL_RVV_MICROKERNEL_SRCS + ALL_RVVFP16ARITH_MICROKERNEL_SRCS + ALL_SCALAR_MICROKERNEL_SRCS + ALL_SSE_MICROKERNEL_SRCS + ALL_SSE2_MICROKERNEL_SRCS + ALL_SSE41_MICROKERNEL_SRCS + ALL_SSSE3_MICROKERNEL_SRCS + ALL_WASM_MICROKERNEL_SRCS + ALL_WASMRELAXEDSIMD_MICROKERNEL_SRCS + ALL_WASMSIMD_MICROKERNEL_SRCS + AARCH32_ASM_MICROKERNEL_SRCS + AARCH64_ASM_MICROKERNEL_SRCS + WASM32_ASM_MICROKERNEL_SRCS + ["src/microparams-init.c"]
ALL_MICROKERNEL_SRCS = ALL_NEON_AARCH64_MICROKERNEL_SRCS + ALL_NEONBF16_AARCH64_MICROKERNEL_SRCS + ALL_NEONDOT_AARCH64_MICROKERNEL_SRCS + ALL_NEONFMA_AARCH64_MICROKERNEL_SRCS + ALL_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS + ALL_ARMSIMD32_MICROKERNEL_SRCS + ALL_AVX_MICROKERNEL_SRCS + ALL_AVXVNNI_MICROKERNEL_SRCS + ALL_AVX2_MICROKERNEL_SRCS + ALL_AVX512F_MICROKERNEL_SRCS + ALL_AVX512SKX_MICROKERNEL_SRCS + ALL_AVX512VBMI_MICROKERNEL_SRCS + ALL_AVX512VNNI_MICROKERNEL_SRCS + ALL_AVX512VNNIGFNI_MICROKERNEL_SRCS + ALL_AVX512AMX_MICROKERNEL_SRCS + ALL_AVX512FP16_MICROKERNEL_SRCS + ALL_F16C_MICROKERNEL_SRCS + ALL_FMA_MICROKERNEL_SRCS + ALL_FMA3_MICROKERNEL_SRCS + ALL_FP16ARITH_MICROKERNEL_SRCS + ALL_HEXAGON_MICROKERNEL_SRCS + ALL_HVX_MICROKERNEL_SRCS + ALL_NEON_MICROKERNEL_SRCS + ALL_NEONBF16_MICROKERNEL_SRCS + ALL_NEONDOT_MICROKERNEL_SRCS + ALL_NEONDOTFP16ARITH_MICROKERNEL_SRCS + ALL_NEONFMA_MICROKERNEL_SRCS + ALL_NEONFP16_MICROKERNEL_SRCS + ALL_NEONFP16ARITH_MICROKERNEL_SRCS + ALL_NEONV8_MICROKERNEL_SRCS + ALL_RVV_MICROKERNEL_SRCS + ALL_RVVFP16ARITH_MICROKERNEL_SRCS + ALL_SCALAR_MICROKERNEL_SRCS + ALL_SSE_MICROKERNEL_SRCS + ALL_SSE2_MICROKERNEL_SRCS + ALL_SSE41_MICROKERNEL_SRCS + ALL_SSSE3_MICROKERNEL_SRCS + ALL_WASM_MICROKERNEL_SRCS + ALL_WASMRELAXEDSIMD_MICROKERNEL_SRCS + ALL_WASMSIMD_MICROKERNEL_SRCS + AARCH32_ASM_MICROKERNEL_SRCS + AARCH64_ASM_MICROKERNEL_SRCS + WASM32_ASM_MICROKERNEL_SRCS

filegroup(
name = "microkernel_source_files",
data = ALL_NEON_AARCH64_MICROKERNEL_SRCS + ALL_NEONBF16_AARCH64_MICROKERNEL_SRCS + ALL_NEONDOT_AARCH64_MICROKERNEL_SRCS + ALL_NEONFMA_AARCH64_MICROKERNEL_SRCS + ALL_NEONFP16ARITH_AARCH64_MICROKERNEL_SRCS + ALL_ARMSIMD32_MICROKERNEL_SRCS + ALL_AVX_MICROKERNEL_SRCS + ALL_AVXVNNI_MICROKERNEL_SRCS + ALL_AVX2_MICROKERNEL_SRCS + ALL_AVX512F_MICROKERNEL_SRCS + ALL_AVX512SKX_MICROKERNEL_SRCS + ALL_AVX512VBMI_MICROKERNEL_SRCS + ALL_AVX512VNNI_MICROKERNEL_SRCS + ALL_AVX512VNNIGFNI_MICROKERNEL_SRCS + ALL_AVX512AMX_MICROKERNEL_SRCS + ALL_AVX512FP16_MICROKERNEL_SRCS + ALL_F16C_MICROKERNEL_SRCS + ALL_FMA_MICROKERNEL_SRCS + ALL_FMA3_MICROKERNEL_SRCS + ALL_FP16ARITH_MICROKERNEL_SRCS + ALL_HEXAGON_MICROKERNEL_SRCS + ALL_HVX_MICROKERNEL_SRCS + ALL_NEON_MICROKERNEL_SRCS + ALL_NEONBF16_MICROKERNEL_SRCS + ALL_NEONDOT_MICROKERNEL_SRCS + ALL_NEONDOTFP16ARITH_MICROKERNEL_SRCS + ALL_NEONFMA_MICROKERNEL_SRCS + ALL_NEONFP16_MICROKERNEL_SRCS + ALL_NEONFP16ARITH_MICROKERNEL_SRCS + ALL_NEONV8_MICROKERNEL_SRCS + ALL_RVV_MICROKERNEL_SRCS + ALL_RVVFP16ARITH_MICROKERNEL_SRCS + ALL_SCALAR_MICROKERNEL_SRCS + ALL_SSE_MICROKERNEL_SRCS + ALL_SSE2_MICROKERNEL_SRCS + ALL_SSE41_MICROKERNEL_SRCS + ALL_SSSE3_MICROKERNEL_SRCS + ALL_WASM_MICROKERNEL_SRCS + ALL_WASMRELAXEDSIMD_MICROKERNEL_SRCS + ALL_WASMSIMD_MICROKERNEL_SRCS + AARCH32_ASM_MICROKERNEL_SRCS + AARCH64_ASM_MICROKERNEL_SRCS + WASM32_ASM_MICROKERNEL_SRCS + ["src/microparams-init.c"],
data = ALL_MICROKERNEL_SRCS + ["src/microparams-init.c"],
visibility = xnnpack_visibility(),
)

Expand Down Expand Up @@ -280,7 +280,7 @@ xnnpack_cc_library(
name = "hardware_config",
srcs = ["src/configs/hardware-config.c"],
hdrs = [
"src/xnnpack/config.h",
"src/xnnpack/hardware-config.h",
"src/xnnpack/microfnptr.h",
"src/xnnpack/microparams.h",
],
Expand Down Expand Up @@ -345,6 +345,7 @@ xnnpack_cc_library(
],
hdrs = [
"src/xnnpack/config.h",
"src/xnnpack/config-types.h",
"src/xnnpack/microfnptr.h",
"src/xnnpack/microparams.h",
],
Expand Down Expand Up @@ -381,7 +382,6 @@ xnnpack_cc_library(
name = "params",
srcs = ["src/params.c"],
hdrs = [
"src/xnnpack/config.h",
"src/xnnpack/microfnptr.h",
"src/xnnpack/params.h",
],
Expand Down
22 changes: 14 additions & 8 deletions bench/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ MICROKERNEL_BENCHMARK_DEPS = [
"//:test_microkernels",
"//:common",
"//:enable_assembly",
"//:hardware_config",
"//:jit",
"//:microkernels_h",
"//:packing",
Expand Down Expand Up @@ -53,9 +54,10 @@ xnnpack_cc_library(
}),
visibility = xnnpack_visibility(),
deps = [
"//:XNNPACK",
"//:allocator",
"//:common",
"//:hardware_config",
"//:memory",
"//:params",
"@com_google_benchmark//:benchmark",
] + select({
Expand Down Expand Up @@ -126,6 +128,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:indirection",
"//:microkernel_configs",
"//:microkernel_utils",
"//:operators",
],
Expand Down Expand Up @@ -254,9 +257,7 @@ xnnpack_benchmark(

xnnpack_benchmark(
name = "qu8_gemm_bench",
srcs = [
"qu8-gemm.cc",
],
srcs = ["qu8-gemm.cc"],
copts = xnnpack_optional_ruy_copts() + xnnpack_optional_gemmlowp_copts(),
deps = MICROKERNEL_BENCHMARK_DEPS + [
":gemm_benchmark",
Expand Down Expand Up @@ -404,7 +405,6 @@ xnnpack_benchmark(
srcs = [
"f16-gemm-minmax.cc",
"gemm.h",
"google/gemm.h",
],
copts = xnnpack_optional_ruy_copts(),
deps = MICROKERNEL_BENCHMARK_DEPS + [
Expand Down Expand Up @@ -556,6 +556,7 @@ xnnpack_benchmark(
"f16-conv-hwc2chw.cc",
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:operators",
],
)

Expand Down Expand Up @@ -688,7 +689,6 @@ xnnpack_benchmark(
srcs = [
"f32-gemm-minmax.cc",
"gemm.h",
"google/gemm.h",
],
copts = xnnpack_optional_ruy_copts(),
deps = MICROKERNEL_BENCHMARK_DEPS + [
Expand All @@ -704,7 +704,6 @@ xnnpack_benchmark(
srcs = [
"f32-gemm-goi-minmax.cc",
"gemm.h",
"google/gemm.h",
],
copts = xnnpack_optional_ruy_copts(),
deps = MICROKERNEL_BENCHMARK_DEPS + [
Expand Down Expand Up @@ -1021,7 +1020,6 @@ xnnpack_cc_library(
name = "spmm_benchmark",
hdrs = [
"gemm.h",
"google/gemm.h",
"spmm-benchmark.h",
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
Expand Down Expand Up @@ -1156,6 +1154,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:fp16_mobilenet_v1",
"//models:fp16_mobilenet_v2",
Expand All @@ -1172,6 +1171,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:fp16_mobilenet_v1",
"//models:fp16_mobilenet_v2",
Expand All @@ -1188,6 +1188,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:fp32_mobilenet_v1",
"//models:fp32_mobilenet_v1_jit",
Expand All @@ -1208,6 +1209,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:fp32_mobilenet_v1",
"//models:fp32_mobilenet_v1_jit",
Expand All @@ -1228,6 +1230,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:qs8_mobilenet_v1",
"//models:qs8_mobilenet_v2",
Expand All @@ -1242,6 +1245,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:qs8_mobilenet_v1",
"//models:qs8_mobilenet_v2",
Expand All @@ -1256,6 +1260,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:qu8_mobilenet_v1",
"//models:qu8_mobilenet_v2",
Expand All @@ -1272,6 +1277,7 @@ xnnpack_benchmark(
],
deps = MICROKERNEL_BENCHMARK_DEPS + [
"//:XNNPACK",
"//:microkernel_configs",
"//:models_h",
"//models:qu8_mobilenet_v1",
"//models:qu8_mobilenet_v2",
Expand Down
1 change: 0 additions & 1 deletion bench/f16-dwconv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <xnnpack/microfnptr.h>
#include <xnnpack/microkernel-utils.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/operator.h>
#include <xnnpack/pack.h>


Expand Down
1 change: 0 additions & 1 deletion bench/f16-dwconv2d-chw.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <xnnpack/indirection.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/operator.h>
#include <xnnpack/pack.h>


Expand Down
1 change: 0 additions & 1 deletion bench/f16-f32acc-igemm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <xnnpack/indirection.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/operator.h>
#include <xnnpack/pack.h>


Expand Down
1 change: 0 additions & 1 deletion bench/f16-igemm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <xnnpack/indirection.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/operator.h>
#include <xnnpack/pack.h>


Expand Down
1 change: 0 additions & 1 deletion bench/f32-dwconv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <xnnpack/microfnptr.h>
#include <xnnpack/microkernel-utils.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/operator.h>
#include <xnnpack/pack.h>


Expand Down
1 change: 0 additions & 1 deletion bench/f32-dwconv2d-chw.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <xnnpack/indirection.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/operator.h>
#include <xnnpack/pack.h>


Expand Down
1 change: 0 additions & 1 deletion bench/f32-igemm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
#include <xnnpack/common.h>
#include <xnnpack/igemm.h>
#include <xnnpack/indirection.h>
#include <xnnpack/operator.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/pack.h>
Expand Down
2 changes: 1 addition & 1 deletion bench/qs8-dwconv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
#include <xnnpack.h>
#include <xnnpack/aligned-allocator.h>
#include <xnnpack/common.h>
#include <xnnpack/config.h>
#include <xnnpack/dwconv.h>
#include <xnnpack/indirection.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microkernel-utils.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/operator.h>
#include <xnnpack/pack.h>


Expand Down
1 change: 1 addition & 0 deletions bench/qu8-dwconv-e2e.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <benchmark/benchmark.h>

#include <xnnpack.h>
#include <xnnpack/config.h>
#include <xnnpack/dwconv.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams-init.h>
Expand Down
2 changes: 1 addition & 1 deletion bench/utils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

#include <xnnpack.h>
#include <xnnpack/allocator.h>
#include <xnnpack/config.h>
#include <xnnpack/hardware-config.h>

#include "bench/utils.h"

Expand Down
1 change: 1 addition & 0 deletions bench/x16-packw.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "bench/utils.h"

#include <xnnpack/common.h>
#include <xnnpack/hardware-config.h>
#include <xnnpack/packw.h>


Expand Down
1 change: 1 addition & 0 deletions bench/x32-packw.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "bench/utils.h"

#include <xnnpack/common.h>
#include <xnnpack/hardware-config.h>
#include <xnnpack/packw.h>


Expand Down
2 changes: 1 addition & 1 deletion bench/x32-transpose.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <xnnpack.h>
#include <xnnpack/aligned-allocator.h>
#include <xnnpack/common.h>
#include <xnnpack/config.h>
#include <xnnpack/hardware-config.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams-init.h>
#include <xnnpack/transpose.h>
Expand Down
1 change: 1 addition & 0 deletions bench/x8-packw.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "bench/utils.h"

#include <xnnpack/common.h>
#include <xnnpack/hardware-config.h>
#include <xnnpack/packw.h>


Expand Down
2 changes: 1 addition & 1 deletion src/configs/hardware-config.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
#include <wasm_simd128.h>
#endif

#include <xnnpack/config.h>
#include <xnnpack/hardware-config.h>
#include <xnnpack/log.h>

#if XNN_ARCH_X86_64 && defined(__linux__) && !defined(CHROMIUM)
Expand Down
1 change: 0 additions & 1 deletion src/operator-utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
#include <xnnpack.h> // For xnn_operator_t.
#include <xnnpack/allocator.h>
#include <xnnpack/common.h> // For XNN_ALLOCATION_ALIGNMENT.
#include <xnnpack/config.h>
#include <xnnpack/log.h>
#include <xnnpack/math.h>
#include <xnnpack/operator-utils.h>
Expand Down
3 changes: 2 additions & 1 deletion src/xnnpack/compute.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@

#include <xnnpack.h>
#include <xnnpack/common.h>
#include <xnnpack/config.h>
#include <xnnpack/microfnptr.h>
#include <xnnpack/microparams.h>
#include <xnnpack/math.h>


Expand Down
Loading

0 comments on commit 1a6f88e

Please sign in to comment.