onnxruntime/cmake
Scott McKay 4f2096be38
Update XNNPACK to latest version (#18038)
### Description
<!-- Describe your changes. -->
Update XNNPACK to latest version
- adds fp16 kernels and various other improvements
- requires pthreadpool update as well

Most code updates in the XNNPACK EP are to adjust to the new XNNPACK API
- 'setup' is split into 'reshape' and 'setup'
-  some ops use a workspace buffer
   -  copied workspace allocation from XNNPACK unit test code
- some suffixes changed 

Added wrapper for XNNPACK caches to base XNNPACK EP kernel
- simplifies usage
- XNNPACK split out the code and weights caches, but the code cache
isn't currently usable via the public API
- we could use the internal types if we think it's required for
performance reasons. non-trivial though as we'd need to propagate ifdef
values from the XNNPACK build up to the ORT build.
- using XNNPACK internals would also mean we would not be able to
support using a pre-build XNNPACK package
    - not an issue currently
  
Fixed opset registration for internal NHWC domain
- was not being tied to the ONNX version, so nodes inserted by layout
transformation had the incorrect opset
- a number of other places needed updating once this issue was fixed

Remove support for NCHW Resize from XNNPACK EP so it's NHWC only
- we only supported NCHW for fp32,
- doing so adds complexity in multiple places (XNNPACK EP kernel
implementation, layout transformation and transpose optimization)
- unclear if that complexity provides any benefit. can add back if
required by production scenario

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
We're looking at enabling fp16 support for CoreML and NNAPI. If we do
that we need a good fallback story if the CPU EP will be used. The
XNNPACK fp16 kernels will hopefully provide that.

NOTE: This PR doesn't add fp16 support to the XNNPACK EP kernels. That
can be done as required in separate EPs and should be relatively simple
to do.
2023-11-03 09:04:28 -07:00
..
external Update XNNPACK to latest version (#18038) 2023-11-03 09:04:28 -07:00
patches Update XNNPACK to latest version (#18038) 2023-11-03 09:04:28 -07:00
tensorboard
adjust_global_compile_flags.cmake
CMakeLists.txt Openvino ep ort 23.1 (#17911) 2023-11-01 08:39:39 -07:00
CMakeSettings.json
codeconv.runsettings
deps.txt Update XNNPACK to latest version (#18038) 2023-11-03 09:04:28 -07:00
deps_update_and_upload.py
EnableVisualStudioCodeAnalysis.props
gdk_toolchain.cmake
Info.plist.in
libonnxruntime.pc.cmake.in
nuget_helpers.cmake
onnxruntime.cmake Pre-link when creating static library for apple framework (#18241) 2023-11-03 23:38:29 +10:00
onnxruntime_codegen_tvm.cmake
onnxruntime_common.cmake
onnxruntime_compile_triton_kernel.cmake
onnxruntime_config.h.in
onnxruntime_csharp.cmake
onnxruntime_flatbuffers.cmake
onnxruntime_framework.cmake
onnxruntime_framework.natvis
onnxruntime_fuzz_test.cmake
onnxruntime_graph.cmake Pre-link when creating static library for apple framework (#18241) 2023-11-03 23:38:29 +10:00
onnxruntime_ios.toolchain.cmake
onnxruntime_java.cmake
onnxruntime_java_unittests.cmake
onnxruntime_kernel_explorer.cmake
onnxruntime_language_interop_ops.cmake
onnxruntime_mlas.cmake [aarch64] Remove mmla kernel support from apple (#18082) 2023-10-25 11:34:57 -07:00
onnxruntime_nodejs.cmake
onnxruntime_objectivec.cmake
onnxruntime_opschema_lib.cmake
onnxruntime_optimizer.cmake
onnxruntime_providers.cmake
onnxruntime_providers_acl.cmake
onnxruntime_providers_armnn.cmake
onnxruntime_providers_azure.cmake
onnxruntime_providers_cann.cmake
onnxruntime_providers_coreml.cmake
onnxruntime_providers_cpu.cmake
onnxruntime_providers_cuda.cmake Distributed Reduction (#18206) 2023-11-01 08:49:33 -07:00
onnxruntime_providers_dml.cmake
onnxruntime_providers_dnnl.cmake
onnxruntime_providers_js.cmake
onnxruntime_providers_migraphx.cmake
onnxruntime_providers_nnapi.cmake
onnxruntime_providers_openvino.cmake
onnxruntime_providers_qnn.cmake
onnxruntime_providers_rknpu.cmake
onnxruntime_providers_rocm.cmake
onnxruntime_providers_tensorrt.cmake [TensorRT EP] Fix cmake install (#17923) 2023-10-16 09:16:24 -07:00
onnxruntime_providers_tvm.cmake
onnxruntime_providers_vitisai.cmake
onnxruntime_providers_webnn.cmake
onnxruntime_providers_xnnpack.cmake Update XNNPACK to latest version (#18038) 2023-11-03 09:04:28 -07:00
onnxruntime_pyop.cmake
onnxruntime_python.cmake [ORTModule] ATen Efficient Attention and Triton Flash Attention (#17959) 2023-10-27 10:29:27 +08:00
onnxruntime_rocm_hipify.cmake GQA Memory Efficient Kernel (#17920) 2023-11-01 20:04:22 -07:00
onnxruntime_session.cmake
onnxruntime_snpe_provider.cmake
onnxruntime_training.cmake
onnxruntime_unittests.cmake Update XNNPACK to latest version (#18038) 2023-11-03 09:04:28 -07:00
onnxruntime_util.cmake
onnxruntime_webassembly.cmake Update XNNPACK to latest version (#18038) 2023-11-03 09:04:28 -07:00
precompiled_header.cmake
Sdl.ruleset
set_winapi_family_desktop.h
target_delayload.cmake
uwp_stubs.h
wcos_rules_override.cmake
winml.cmake
winml_cppwinrt.cmake
winml_sdk_helpers.cmake
winml_unittests.cmake