pykeio / ort

Fast ML inference & training for Rust with ONNX Runtime
https://ort.pyke.io/
Apache License 2.0
857 stars 100 forks source link

Linker errors for XNNPACK #307

Closed cyanic-selkie closed 6 days ago

cyanic-selkie commented 6 days ago

I built onnxruntime on linux (x86_64) with the following command:

./build.sh --config Release --parallel --compile_no_warning_as_error --skip_submodule_sync --update --build --build_dir build/linux --use_xnnpack

And got the following linker errors:

  = note: mold: error: undefined symbol: xnn_create_resize_bilinear2d_nhwc_u8
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::Resize(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_reshape_resize_bilinear2d_nhwc_f16
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: xnn_reshape_max_pooling2d_nhwc_s8
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_max_pooling2d_nhwc_f16
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::MaxPool(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_setup_deconvolution2d_nhwc_qs8
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_convolution2d_nhwc_qs8_qc8w
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_reshape_convolution2d_nhwc_qu8
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_softmax_nc_f16
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Softmax(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_run_operator
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::Compute(onnxruntime::OpKernelContext*) const)
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::Compute(onnxruntime::OpKernelContext*) const)
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Compute(onnxruntime::OpKernelContext*) const)
          >>> referenced 5 more times
          mold: error: undefined symbol: xnn_setup_fully_connected_nc_f32
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::Compute(onnxruntime::OpKernelContext*) const)
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_resize_bilinear2d_nhwc_f32
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: xnn_setup_max_pooling2d_nhwc_u8
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_max_pooling2d_nhwc_s8
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::MaxPool(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_reshape_deconvolution2d_nhwc_f32
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_deconvolution2d_nhwc_qs8
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_setup_convolution2d_nhwc_f16
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_average_pooling2d_nhwc_f16
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_softmax_nc_qu8
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_resize_bilinear2d_nhwc_s8
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: pthreadpool_create
          >>> referenced by xnnpack_execution_provider.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(xnnpack_execution_provider.cc.o):(onnxruntime::XnnpackExecutionProvider::XnnpackExecutionProvider(onnxruntime::XnnpackExecutionProviderInfo const&))
          mold: error: undefined symbol: xnn_reshape_max_pooling2d_nhwc_f32
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_deconvolution2d_nhwc_f16
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_deinitialize
          >>> referenced by xnnpack_execution_provider.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(xnnpack_execution_provider.cc.o):(onnxruntime::XnnpackExecutionProvider::~XnnpackExecutionProvider())
          mold: error: undefined symbol: xnn_create_deconvolution2d_nhwc_f32
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_create_convolution2d_nhwc_qu8
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_reshape_convolution2d_nhwc_f16
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_average_pooling2d_nhwc_f16
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_average_pooling2d_nhwc_qu8
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::AveragePool(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_reshape_fully_connected_nc_f32
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::Compute(onnxruntime::OpKernelContext*) const)
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_resize_bilinear2d_nhwc_f32
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::Resize(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_reshape_resize_bilinear2d_nhwc_u8
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: xnn_reshape_max_pooling2d_nhwc_f16
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_max_pooling2d_nhwc_f32
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::MaxPool(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_setup_deconvolution2d_nhwc_qu8
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_convolution2d_nhwc_f16
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_reshape_convolution2d_nhwc_qs8_qc8w
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_average_pooling2d_nhwc_f32
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::AveragePool(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_create_softmax_nc_qu8
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Softmax(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_reshape_softmax_nc_qu8
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_fully_connected_nc_f32
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::PrePack(onnxruntime::Tensor const&, int, std::shared_ptr<onnxruntime::IAllocator>, bool&, onnxruntime::PrePackedWeights*))
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::PrePack(onnxruntime::Tensor const&, int, std::shared_ptr<onnxruntime::IAllocator>, bool&, onnxruntime::PrePackedWeights*))
          mold: error: undefined symbol: xnn_setup_fully_connected_nc_f16
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::Compute(onnxruntime::OpKernelContext*) const)
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_resize_bilinear2d_nhwc_f16
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: xnn_setup_max_pooling2d_nhwc_s8
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_deconvolution2d_nhwc_qs8
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_deconvolution2d_nhwc_f16
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_setup_convolution2d_nhwc_qs8
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_convolution2d_nhwc_f32
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_average_pooling2d_nhwc_qu8
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_softmax_nc_f32
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_resize_bilinear2d_nhwc_s8
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::Resize(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_reshape_resize_bilinear2d_nhwc_s8
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: pthreadpool_destroy
          >>> referenced by xnnpack_execution_provider.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(xnnpack_execution_provider.cc.o):(onnxruntime::XnnpackExecutionProvider::~XnnpackExecutionProvider())
          mold: error: undefined symbol: xnn_reshape_max_pooling2d_nhwc_u8
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_deconvolution2d_nhwc_f32
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_convolution2d_nhwc_qs8
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_setup_convolution2d_nhwc_qs8_qc8w
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_average_pooling2d_nhwc_qu8
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_softmax_nc_f32
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_fully_connected_nc_f16
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::Compute(onnxruntime::OpKernelContext*) const)
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_delete_weights_cache
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::Gemm(onnxruntime::OpKernelInfo const&))
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::MatMul(onnxruntime::OpKernelInfo const&))
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Softmax(onnxruntime::OpKernelInfo const&))
          >>> referenced 4 more times
          mold: error: undefined symbol: xnn_create_resize_bilinear2d_nhwc_f16
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::Resize(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_setup_resize_bilinear2d_nhwc_u8
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: xnn_initialize
          >>> referenced by xnnpack_execution_provider.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(xnnpack_execution_provider.cc.o):(onnxruntime::XnnpackExecutionProvider::CreatePreferredAllocators())
          mold: error: undefined symbol: xnn_setup_max_pooling2d_nhwc_f32
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_max_pooling2d_nhwc_u8
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::MaxPool(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_setup_deconvolution2d_nhwc_f16
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_convolution2d_nhwc_f32
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_setup_convolution2d_nhwc_f32
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_average_pooling2d_nhwc_f32
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_average_pooling2d_nhwc_f16
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::AveragePool(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_create_softmax_nc_f32
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Softmax(onnxruntime::OpKernelInfo const&))
          mold: error: undefined symbol: xnn_reshape_softmax_nc_f16
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_fully_connected_nc_f16
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::PrePack(onnxruntime::Tensor const&, int, std::shared_ptr<onnxruntime::IAllocator>, bool&, onnxruntime::PrePackedWeights*))
          >>> referenced by matmul.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(matmul.cc.o):(onnxruntime::xnnpack::MatMul::PrePack(onnxruntime::Tensor const&, int, std::shared_ptr<onnxruntime::IAllocator>, bool&, onnxruntime::PrePackedWeights*))
          mold: error: undefined symbol: xnn_reshape_resize_bilinear2d_nhwc_f32
          >>> referenced by resize.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(resize.cc.o):(onnxruntime::xnnpack::Resize::ComputeInternal(onnxruntime::OpKernelContext*, onnxruntime::Tensor const*, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&) const)
          mold: error: undefined symbol: xnn_setup_max_pooling2d_nhwc_f16
          >>> referenced by max_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(max_pool.cc.o):(onnxruntime::xnnpack::MaxPool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_deconvolution2d_nhwc_qu8
          >>> referenced by conv_transpose.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_transpose.cc.o):(onnxruntime::xnnpack::ConvTranspose::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_create_deconvolution2d_nhwc_qu8
          >>> referenced by conv_base.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv_base.cc.o):(onnxruntime::xnnpack::(anonymous namespace)::CreateXnnpackKernel(onnxruntime::ConvAttributes const&, long, long, absl::lts_20240722::InlinedVector<long, 6ul, std::allocator<long> > const&, std::optional<std::pair<float, float> > const&, onnxruntime::Tensor const&, onnxruntime::Tensor const*, std::unique_ptr<xnn_operator, onnxruntime::xnnpack::XnnpackOperatorDeleter>&, xnn_code_cache*, xnn_weights_cache_provider*, std::vector<std::pair<std::vector<float, std::allocator<float> >, unsigned char>, std::allocator<std::pair<std::vector<float, std::allocator<float> >, unsigned char> > > const&, onnxruntime::xnnpack::OpComputeType, bool) [clone .constprop.0])
          mold: error: undefined symbol: xnn_setup_convolution2d_nhwc_qu8
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_reshape_convolution2d_nhwc_qs8
          >>> referenced by conv.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(conv.cc.o):(onnxruntime::xnnpack::Conv::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_average_pooling2d_nhwc_f32
          >>> referenced by average_pool.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(average_pool.cc.o):(onnxruntime::xnnpack::AveragePool::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_setup_softmax_nc_f16
          >>> referenced by softmax.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(softmax.cc.o):(onnxruntime::xnnpack::Softmax::Compute(onnxruntime::OpKernelContext*) const)
          mold: error: undefined symbol: xnn_delete_operator
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::~Gemm())
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::~Gemm())
          >>> referenced by gemm.cc
          >>>               /tmp/rustcBBnGqh/libort_sys-bf83794241984ce7.rlib(gemm.cc.o):(onnxruntime::xnnpack::Gemm::Gemm(onnxruntime::OpKernelInfo const&) [clone .cold])
          >>> referenced 27 more times
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
cyanic-selkie commented 4 days ago

@decahedron1 I finally got around to testing the new commit, some symbols are still missing:

  = note: mold: error: undefined symbol: xnn_f16_vmulcaddc_minmax_ukernel_c8__fma3_2x
          >>> referenced by vmulcaddc-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(vmulcaddc-config.c.o):(init_f16_vmulcaddc_config)
          mold: error: undefined symbol: xnn_f32_maxpool_minmax_ukernel_9p8x__sse_c4
          >>> referenced by maxpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(maxpool-config.c.o):(init_f32_maxpool_config)
          mold: error: undefined symbol: xnn_s8_ibilinear_ukernel__sse41_c16
          >>> referenced by ibilinear-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(ibilinear-config.c.o):(init_s8_ibilinear_config)
          mold: error: undefined symbol: xnn_f16_f32acc_igemm_minmax_ukernel_1x16__avx2_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f16_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_5x16__fma3_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_5x16__avx_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_1x16__avx512f_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_1x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_1x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x16c8__avx512vnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_x32_packw_gemm_goi_ukernel_x2c4__sse2_u4
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_nr2_config)
          mold: error: undefined symbol: xnn_qu8_gavgpool_minmax_fp32_ukernel_7p7x__sse41_c8
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_qu8_gavgpool_config)
          mold: error: undefined symbol: xnn_f32_gavgpool_minmax_ukernel_7p7x__sse_c4
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_f32_gavgpool_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_25p8c__sse2_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_25p32c__avx512skx_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_9p8c__sse2_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_9p16c__avx2_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_9p8c__sse
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_3p16c__avx512f
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_vmul_minmax_ukernel__sse_u8
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f32_vmul_config)
          mold: error: undefined symbol: xnn_qu8_avgpool_minmax_fp32_ukernel_9x__sse2_c8
          >>> referenced by avgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(avgpool-config.c.o):(init_qu8_avgpool_config)
          mold: error: undefined symbol: xnn_f16_rmax_ukernel__avx512skx_u64_acc4
          >>> referenced by rmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(rmax-config.c.o):(init_f16_rmax_config)
          mold: error: undefined symbol: xnn_f32_pavgpool_minmax_ukernel_9x__sse_c4
          >>> referenced by pavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(pavgpool-config.c.o):(init_f32_pavgpool_config)
          mold: error: undefined symbol: xnn_f16_maxpool_minmax_ukernel_9p8x__f16c_c8
          >>> referenced by maxpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(maxpool-config.c.o):(init_f16_maxpool_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_1x16s4__fma3_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_4x8__sse_load1
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_7x16__avx512f_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_2x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_3x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__avx256skx
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avxvnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_f16_gavgpool_minmax_ukernel_7p7x__f16c_c8
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_f16_gavgpool_config)
          mold: error: undefined symbol: xnn_f16_dwconv_minmax_ukernel_4p16c__fma3
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f16_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_25p8c__sse41_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_3p16c__avx_mul16_add16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_25p8c__avx
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_25p16c__avx512f
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f16_avgpool_minmax_ukernel_9x__f16c_c8
          >>> referenced by avgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(avgpool-config.c.o):(init_f16_avgpool_config)
          mold: error: undefined symbol: xnn_f32_rmax_ukernel__sse_u16_acc4
          >>> referenced by rmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(rmax-config.c.o):(init_f32_rmax_config)
          mold: error: undefined symbol: xnn_f16_pavgpool_minmax_ukernel_9p8x__avx2_c8
          >>> referenced by pavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(pavgpool-config.c.o):(init_f16_pavgpool_config)
          mold: error: undefined symbol: xnn_f16_ibilinear_ukernel__fma3_c8
          >>> referenced by ibilinear-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(ibilinear-config.c.o):(init_f16_ibilinear_config)
          mold: error: undefined symbol: xnn_f16_f32acc_gemm_minmax_ukernel_1x16__avx2_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f16_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_4x16s4__fma3_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_x32_packw_gemm_goi_ukernel_x8__sse2_u4
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_5x16__avx_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_1x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c8__avx512vnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_4x2c4__sse
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_nr2_config)
          mold: error: undefined symbol: xnn_qu8_gavgpool_minmax_fp32_ukernel_7p7x__sse2_c8
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_qu8_gavgpool_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_9p8c__sse2_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_3p8c__sse2_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_25p32c__avx512skx_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_4p8c__sse
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_9p16c__fma3
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_vmulc_minmax_ukernel__avx512f_u32
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f32_vmul_config)
          mold: error: undefined symbol: xnn_f32_avgpool_minmax_ukernel_9p8x__sse_c4
          >>> referenced by avgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(avgpool-config.c.o):(init_f32_avgpool_config)
          mold: error: undefined symbol: xnn_u8_maxpool_minmax_ukernel_9p8x__sse2_c16
          >>> referenced by maxpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(maxpool-config.c.o):(init_u8_maxpool_config)
          mold: error: undefined symbol: xnn_u8_ibilinear_ukernel__sse2_c8
          >>> referenced by ibilinear-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(ibilinear-config.c.o):(init_u8_ibilinear_config)
          mold: error: undefined symbol: xnn_f16_f32acc_igemm_minmax_ukernel_4x16__avx2_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f16_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_1x16__fma3_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_x32_packw_gemm_goi_ukernel_x16__avx_u4
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_7x16__avx512f_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_2x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_3x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_3x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_2x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avx256skx
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x8c8__avxvnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_25p8c__sse41_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_9p16c__avx2_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_9p8c__sse41_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_25p16c__avx2_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_9p16c__avx
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_4p16c__avx512f
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_vmulc_minmax_ukernel__sse_u8
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f32_vmul_config)
          mold: error: undefined symbol: xnn_qu8_avgpool_minmax_fp32_ukernel_9p8x__sse2_c8
          >>> referenced by avgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(avgpool-config.c.o):(init_qu8_avgpool_config)
          mold: error: undefined symbol: xnn_f16_rmax_ukernel__f16c_u32
          >>> referenced by rmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(rmax-config.c.o):(init_f16_rmax_config)
          mold: error: undefined symbol: xnn_f32_raddstoreexpminusmax_ukernel__sse2_rr2_p5_u20_acc2
          >>> referenced by raddstoreexpminusmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(raddstoreexpminusmax-config.c.o):(init_f32_raddstoreexpminusmax_config)
          mold: error: undefined symbol: xnn_f32_pavgpool_minmax_ukernel_9p8x__sse_c4
          >>> referenced by pavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(pavgpool-config.c.o):(init_f32_pavgpool_config)
          mold: error: undefined symbol: xnn_s8_maxpool_minmax_ukernel_9p8x__sse41_c16
          >>> referenced by maxpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(maxpool-config.c.o):(init_s8_maxpool_config)
          mold: error: undefined symbol: xnn_u8_lut32norm_ukernel__scalar
          >>> referenced by lut32norm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(lut32norm-config.c.o):(init_u8_lut32norm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_4x16s4__fma3_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_1x8__sse_load1
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_x32_packw_gemm_goi_ukernel_x16__avx512f_u4_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_1x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_1x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_1x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x8c8__avxvnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__avx512vnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_f16_dwconv_minmax_ukernel_9p16c__fma3
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f16_dwconv_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_9p16c__avx_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_9p16c__avx_mul16_add16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_3p32c__avx512skx_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_3p16c__avx
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_3p16c__fma3
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f16_vmul_minmax_ukernel__f16c_u16
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f16_vmul_config)
          mold: error: undefined symbol: xnn_f16_avgpool_minmax_ukernel_9p8x__f16c_c8
          >>> referenced by avgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(avgpool-config.c.o):(init_f16_avgpool_config)
          mold: error: undefined symbol: xnn_f32_vmulcaddc_minmax_ukernel_c4__sse_2x
          >>> referenced by vmulcaddc-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(vmulcaddc-config.c.o):(init_f32_vmulcaddc_config)
          mold: error: undefined symbol: xnn_f32_rmax_ukernel__avx_u32_acc4
          >>> referenced by rmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(rmax-config.c.o):(init_f32_rmax_config)
          mold: error: undefined symbol: xnn_s8_ibilinear_ukernel__sse2_c8
          >>> referenced by ibilinear-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(ibilinear-config.c.o):(init_s8_ibilinear_config)
          mold: error: undefined symbol: xnn_f16_f32acc_gemm_minmax_ukernel_4x16__avx2_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f16_gemm_config)
          mold: error: undefined symbol: xnn_x32_packw_gemm_goi_ukernel_x16s4__avx_u4
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_1x16__fma3_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_1x16__avx_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_7x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_4x8c8__avx256skx
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gavgpool_minmax_fp32_ukernel_7x__sse41_c8
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_qu8_gavgpool_config)
          mold: error: undefined symbol: xnn_f32_gavgpool_minmax_ukernel_7x__sse_c4
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_f32_gavgpool_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_9p8c__sse41_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_9p32c__avx512skx_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_3p8c__sse41_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_3p16c__avx2_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_4p16c__avx
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_25p8c__fma3
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_vmul_minmax_ukernel__avx_u16
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f32_vmul_config)
          mold: error: undefined symbol: xnn_u8_rmax_ukernel__sse2_u16
          >>> referenced by rmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(rmax-config.c.o):(init_u8_rmax_config)
          mold: error: undefined symbol: xnn_u8_ibilinear_ukernel__sse41_c16
          >>> referenced by ibilinear-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(ibilinear-config.c.o):(init_u8_ibilinear_config)
          mold: error: undefined symbol: xnn_x16_packw_gemm_goi_ukernel_x16__avx2_u16_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f16_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_5x16__fma3_broadcast_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_1x8__sse_load1
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_1x16__avx512f_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_1x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_igemm_minmax_fp32_ukernel_1x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__avx_ld128
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_5x8c8__avxvnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_7x16c8__avx512vnni_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_f16_gavgpool_minmax_ukernel_7x__f16c_c8
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_f16_gavgpool_config)
          mold: error: undefined symbol: xnn_f16_dwconv_minmax_ukernel_3p16c__fma3
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f16_dwconv_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_25p16c__avx2_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_25p8c__sse2_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_25p8c__sse
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_9p16c__avx512f
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_vmulc_minmax_ukernel__avx_u16
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f32_vmul_config)
          mold: error: undefined symbol: xnn_f32_rmax_ukernel__avx512f_u64_acc4
          >>> referenced by rmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(rmax-config.c.o):(init_f32_rmax_config)
          mold: error: undefined symbol: xnn_f16_raddstoreexpminusmax_ukernel__avx2_rr1_p2_u40
          >>> referenced by raddstoreexpminusmax-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(raddstoreexpminusmax-config.c.o):(init_f16_raddstoreexpminusmax_config)
          mold: error: undefined symbol: xnn_f16_pavgpool_minmax_ukernel_9x__avx2_c8
          >>> referenced by pavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(pavgpool-config.c.o):(init_f16_pavgpool_config)
          mold: error: undefined symbol: xnn_s8_maxpool_minmax_ukernel_9p8x__sse2_c16
          >>> referenced by maxpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(maxpool-config.c.o):(init_s8_maxpool_config)
          mold: error: undefined symbol: xnn_f32_ibilinear_ukernel__sse_c8
          >>> referenced by ibilinear-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(ibilinear-config.c.o):(init_f32_ibilinear_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_1x16s4__fma3_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_igemm_minmax_ukernel_4x8__sse_load1
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_1x16__avx_broadcast
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_3x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_3x4c8__sse41_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qu8_gemm_minmax_fp32_ukernel_7x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qu8_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_3x4c8__sse2_ld64
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_3x8c8__avx2
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_7x16c8__avx512skx_prfm
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_gemm_minmax_fp32_ukernel_1x8c8__avx256skx
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_qs8_qc8w_gemm_config)
          mold: error: undefined symbol: xnn_f32_gemm_minmax_ukernel_4x2c4__sse
          >>> referenced by gemm-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gemm-config.c.o):(init_f32_gemm_nr2_config)
          mold: error: undefined symbol: xnn_qu8_gavgpool_minmax_fp32_ukernel_7x__sse2_c8
          >>> referenced by gavgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(gavgpool-config.c.o):(init_qu8_gavgpool_config)
          mold: error: undefined symbol: xnn_f16_dwconv_minmax_ukernel_25p8c__fma3_acc2
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f16_dwconv_config)
          mold: error: undefined symbol: xnn_qu8_dwconv_minmax_fp32_ukernel_25p16c__avx_mul16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qu8_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_25p16c__avx_mul16_add16
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_qs8_qc8w_dwconv_minmax_fp32_ukernel_9p32c__avx512skx_mul32
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_qs8_qc8w_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_3p8c__sse
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_dwconv_minmax_ukernel_4p16c__fma3
          >>> referenced by dwconv-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(dwconv-config.c.o):(init_f32_dwconv_config)
          mold: error: undefined symbol: xnn_f32_vmul_minmax_ukernel__avx512f_u32
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f32_vmul_config)
          mold: error: undefined symbol: xnn_f16_vmulc_minmax_ukernel__f16c_u16
          >>> referenced by binary-elementwise-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(binary-elementwise-config.c.o):(init_f16_vmul_config)
          mold: error: undefined symbol: xnn_f32_avgpool_minmax_ukernel_9x__sse_c4
          >>> referenced by avgpool-config.c
          >>>               /tmp/rustcxqWJ7e/libort_sys-ed1cba22bfff1a2c.rlib(avgpool-config.c.o):(init_f32_avgpool_config)
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
decahedron1 commented 3 days ago

I can't reproduce this with ./build.sh --update --build --config Release --parallel --compile_no_warning_as_error --use_xnnpack & ONNX Runtime v1.19.2. Maybe try w/ lld instead of mold?

cyanic-selkie commented 3 days ago

You're right actually, the v1.19.2 works fine. I was running a later commit due to a bugfix for xcode 16 for building for iOS. Apparently something extra was added.

decahedron1 commented 3 days ago

ONNX Runtime @ main now works with https://github.com/pykeio/ort/commit/585efda15393c949010903990bd0a53e7d3d6ffe.