| load("@bazel_skylib//:bzl_library.bzl", "bzl_library") |
| |
| exports_files(["LICENSE"]) |
| |
| cc_library( |
| name = "include", |
| hdrs = glob([ |
| "include/**/*.h", |
| "include/**/*.hpp", |
| ]), |
| includes = ["include"], |
| strip_include_prefix = "include", |
| ) |
| |
| _COMPUTE_LIBRARY_DEFINES = [ |
| "ARM_COMPUTE_CPP_SCHEDULER", |
| "ARM_COMPUTE_CPU_ENABLED", |
| "ENABLE_NEON", |
| "ARM_COMPUTE_ENABLE_NEON", |
| "ENABLE_SVE", |
| "ARM_COMPUTE_ENABLE_SVE", |
| "ARM_COMPUTE_ENABLE_BF16", |
| "ARM_COMPUTE_ENABLE_I8MM", |
| "ARM_COMPUTE_ENABLE_SVEF32MM", |
| "ENABLE_FP32_KERNELS", |
| "ENABLE_QASYMM8_KERNELS", |
| "ENABLE_QASYMM8_SIGNED_KERNELS", |
| "ENABLE_QSYMM16_KERNELS", |
| "ENABLE_INTEGER_KERNELS", |
| "ENABLE_NHWC_KERNELS", |
| "ENABLE_NCHW_KERNELS", |
| ] |
| |
| cc_library( |
| name = "arm_compute_sve2", |
| srcs = glob( |
| [ |
| "src/cpu/kernels/**/sve2/*.cpp", |
| "**/*.h", |
| "**/*.hpp", |
| "**/*.inl", |
| ], |
| ), |
| copts = ["-march=armv8.6-a+sve2"], |
| defines = _COMPUTE_LIBRARY_DEFINES + ["ARM_COMPUTE_ENABLE_SVE2"], |
| includes = [ |
| "src/core/NEON/kernels/arm_conv", |
| "src/core/NEON/kernels/arm_gemm", |
| "src/core/NEON/kernels/assembly", |
| "src/core/cpu/kernels/assembly", |
| "src/cpu/kernels/assembly", |
| ], |
| linkopts = ["-lpthread"], |
| deps = ["include"], |
| ) |
| |
| cc_library( |
| name = "arm_compute_sve", |
| srcs = glob( |
| [ |
| "src/core/NEON/kernels/arm_gemm/kernels/sve_*/*.cpp", |
| "src/core/NEON/kernels/arm_conv/**/kernels/sve_*/*.cpp", |
| "src/core/NEON/kernels/arm_conv/depthwise/interleaves/sve_*.cpp", |
| "src/core/NEON/kernels/batchnormalization/impl/SVE/*.cpp", |
| "src/cpu/kernels/**/sve/*.cpp", |
| "**/*.h", |
| "**/*.hpp", |
| "**/*.inl", |
| ], |
| ) + [ |
| "src/core/NEON/kernels/arm_gemm/transform-sve.cpp", |
| "src/core/NEON/kernels/arm_gemm/mergeresults-sve.cpp", |
| ], |
| copts = ["-march=armv8.2-a+sve"], |
| defines = _COMPUTE_LIBRARY_DEFINES, |
| includes = [ |
| "src/core/NEON/kernels/arm_conv", |
| "src/core/NEON/kernels/arm_gemm", |
| "src/core/NEON/kernels/assembly", |
| "src/core/cpu/kernels/assembly", |
| "src/cpu/kernels/assembly", |
| ], |
| linkopts = ["-lpthread"], |
| deps = ["include"], |
| ) |
| |
| cc_library( |
| name = "arm_compute", |
| srcs = glob( |
| [ |
| "src/common/**/*.cpp", |
| "src/core/*.cpp", |
| "src/core/CPP/kernels/*.cpp", |
| "src/core/helpers/*.cpp", |
| "src/core/utils/**/*.cpp", |
| "src/runtime/**/*.cpp", |
| "src/c/*.cpp", |
| "src/core/NEON/kernels/*.cpp", |
| "src/core/NEON/kernels/convolution/**/*.cpp", |
| "src/core/NEON/kernels/arm_gemm/kernels/a64_*/*.cpp", |
| "src/core/NEON/kernels/arm_conv/pooling/*.cpp", |
| "src/core/NEON/kernels/arm_conv/**/kernels/a64_*/*.cpp", |
| "src/core/NEON/kernels/arm_conv/depthwise/*.cpp", |
| "src/core/NEON/kernels/arm_conv/depthwise/interleaves/a64_*.cpp", |
| "src/core/NEON/kernels/arm_conv/depthwise/interleaves/generic*.cpp", |
| "src/core/NEON/kernels/batchnormalization/impl/NEON/*.cpp", |
| "src/cpu/*.cpp", |
| "src/cpu/kernels/*.cpp", |
| "src/cpu/kernels/*/generic/*.cpp", |
| "src/cpu/operators/**/*.cpp", |
| "src/cpu/utils/*.cpp", |
| "src/cpu/kernels/internal/*.cpp", |
| "src/cpu/kernels/**/neon/*.cpp", |
| "src/cpu/kernels/**/nchw/*.cpp", |
| "src/core/NEON/kernels/arm_gemm/*.cpp", |
| "**/*.h", |
| "**/*.hpp", |
| "**/*.inl", |
| ], |
| exclude = [ |
| "src/core/utils/logging/**", |
| "src/core/TracePoint.cpp", |
| "src/core/NEON/kernels/arm_gemm/mergeresults-sve.cpp", |
| "src/core/NEON/kernels/arm_gemm/transform-sve.cpp", |
| "src/runtime/CL/**", |
| "src/gpu/**", |
| ], |
| ) + [ |
| "src/core/CPP/CPPTypes.cpp", |
| "src/c/operators/AclActivation.cpp", |
| "src/core/NEON/kernels/arm_conv/pooling/kernels/cpp_nhwc_1x1_stride_any_depthfirst/generic.cpp", |
| "src/core/NEON/kernels/arm_conv/depthwise/interleaves/8b_mla.cpp", |
| "src/core/NEON/kernels/arm_conv/addressing.cpp", |
| ], |
| hdrs = glob([ |
| "src/core/NEON/kernels/**/*.h", |
| "src/core/NEON/kernels/**/*.hpp", |
| "arm_compute/runtime/**/*.h", |
| "arm_compute/runtime/*.h", |
| "arm_compute/core/**/*.h", |
| "**/*.inl", |
| ]) + [ |
| "arm_compute_version.embed", |
| ], |
| copts = ["-march=armv8-a"], |
| defines = _COMPUTE_LIBRARY_DEFINES, |
| includes = [ |
| "arm_compute/runtime", |
| "src/core/NEON/kernels/assembly", |
| "src/core/NEON/kernels/convolution/common", |
| "src/core/NEON/kernels/convolution/winograd", |
| "src/core/cpu/kernels/assembly", |
| "src/cpu/kernels/assembly", |
| ], |
| linkopts = ["-lpthread"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| "arm_compute_sve", |
| "arm_compute_sve2", |
| "include", |
| ], |
| ) |
| |
| config_setting( |
| name = "build_with_acl", |
| define_values = { |
| "build_with_acl": "true", |
| }, |
| visibility = ["//visibility:public"], |
| ) |
| |
| bzl_library( |
| name = "build_defs_bzl", |
| srcs = ["build_defs.bzl"], |
| visibility = ["//visibility:public"], |
| ) |