From 898ac90af74b7d0b62ae0427908664d57b3c7b9e Mon Sep 17 00:00:00 2001 From: Marat Dukhan Date: Wed, 12 Feb 2020 11:48:18 -0800 Subject: [PATCH] Support XNNPACK delegate on iOS PiperOrigin-RevId: 294718340 Change-Id: I98bc5e8d7ce7943c2744034ef8195db323d43193 --- tensorflow/lite/tools/benchmark/BUILD | 1 - tensorflow/workspace.bzl | 8 +-- third_party/cpuinfo/BUILD.bazel | 97 +++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 5 deletions(-) diff --git a/tensorflow/lite/tools/benchmark/BUILD b/tensorflow/lite/tools/benchmark/BUILD index 89dc9a7c54d..f6d07a55c24 100644 --- a/tensorflow/lite/tools/benchmark/BUILD +++ b/tensorflow/lite/tools/benchmark/BUILD @@ -140,7 +140,6 @@ cc_library( "//tensorflow/lite/tools/evaluation:utils", ] + select({ "//tensorflow:fuchsia": [], - "//tensorflow:ios": [], "//conditions:default": [ ":xnnpack_delegate_provider", ], diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl index f3e74c443f9..8947038da85 100755 --- a/tensorflow/workspace.bzl +++ b/tensorflow/workspace.bzl @@ -144,11 +144,11 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): tf_http_archive( name = "XNNPACK", - sha256 = "a2cf6299adb29c13062a2a1e7d6e93cfbc4a8f071aa5cbbd70145fb60e1c1cc0", - strip_prefix = "XNNPACK-52bd86f5a79be62d67e23437f9a37e090d55d7ba", + sha256 = "8f29d32a35d5e12aa5f02d0ef9018c80f2c985cd1837493fdfa670d84dfe2e2b", + strip_prefix = "XNNPACK-1498d1d4d0430480dfe5c4538049b4f789d29134", urls = [ - "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/XNNPACK/archive/52bd86f5a79be62d67e23437f9a37e090d55d7ba.zip", - "https://github.com/google/XNNPACK/archive/52bd86f5a79be62d67e23437f9a37e090d55d7ba.zip", + "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/XNNPACK/archive/1498d1d4d0430480dfe5c4538049b4f789d29134.zip", + "https://github.com/google/XNNPACK/archive/1498d1d4d0430480dfe5c4538049b4f789d29134.zip", ], ) diff --git a/third_party/cpuinfo/BUILD.bazel b/third_party/cpuinfo/BUILD.bazel index cbdbd034004..8d89521612e 100644 --- a/third_party/cpuinfo/BUILD.bazel +++ b/third_party/cpuinfo/BUILD.bazel @@ -107,6 +107,15 @@ cc_library( ":android_arm64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS + ANDROID_ARM_SRCS, ":android_x86": COMMON_SRCS + X86_SRCS + LINUX_SRCS + LINUX_X86_SRCS, ":android_x86_64": COMMON_SRCS + X86_SRCS + LINUX_SRCS + LINUX_X86_SRCS, + ":ios_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, + ":ios_x86": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, + ":ios_armv7": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":ios_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":ios_arm64e": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":watchos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, + ":watchos_x86": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, + ":watchos_armv7k": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":watchos_arm64_32": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, ":emscripten_wasm": COMMON_SRCS + EMSCRIPTEN_SRCS, }), copts = C99OPTS + [ @@ -200,6 +209,94 @@ config_setting( visibility = ["//visibility:public"], ) +config_setting( + name = "ios_armv7", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "ios_armv7", + }, +) + +config_setting( + name = "ios_arm64", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "ios_arm64", + }, +) + +config_setting( + name = "ios_arm64e", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "ios_arm64e", + }, +) + +config_setting( + name = "ios_x86", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "ios_i386", + }, +) + +config_setting( + name = "ios_x86_64", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "ios_x86_64", + }, +) + +config_setting( + name = "watchos_armv7k", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "watchos_armv7k", + }, +) + +config_setting( + name = "watchos_arm64_32", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "watchos_arm64_32", + }, +) + +config_setting( + name = "watchos_x86", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "watchos_i386", + }, +) + +config_setting( + name = "watchos_x86_64", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "watchos_x86_64", + }, +) + +config_setting( + name = "tvos_arm64", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "tvos_arm64", + }, +) + +config_setting( + name = "tvos_x86_64", + values = { + "crosstool_top": "//tools/osx/crosstool:crosstool", + "cpu": "tvos_x86_64", + }, +) + config_setting( name = "emscripten_wasm", values = {