Skip to content

ACL (32bit) Execution Provider fails on gemm node #7255

Open
@radikalliberal

Description

Describe the bug
When executing a model with a raspberry pi 4B and ACL the execution stops on the last fully connected layer.

onnxruntime.capi.onnxruntime_pybind11_state.RuntimeException: [ONNXRuntimeError] : 6 : RUNTIME_EXCEPTION : Non-zero status code returned while running Gemm node. Name:'Gemm_148' Status Message: /home/pi/dev/ort1.7/include/onnxruntime/core/framework/op_kernel.h:113 const T* onnxruntime::OpKernelContext::Input(int) const [with T = onnxruntime::Tensor] Missing Input: fc.weight

This does however not happen if I constrain the use to only CPUExecutionProvider.

Urgency
None

System information

  • OS Platform and Distribution: Raspbian GNU/Linux 10 (buster)
  • ONNX Runtime installed from: build from source with ACL
  • ONNX Runtime /ACL version: 1.7.0 / 20.02
  • Python version: 3.7.3
  • GCC/Compiler version: 8.3

To Reproduce

import numpy as np
import onnxruntime as rt
path = '/home/pi/pfld-sim.onnx'
sess = rt.InferenceSession(path)
input_name = sess.get_inputs()[0].name
#sess.set_providers(['CPUExecutionProvider']) <- works when this line is not commented out
x = np.random.random(sess.get_inputs()[0].shape).astype(np.float32)
sess.run(None, {input_name: x})

here is the model I used. It's a landmark model generated from this repo. The model is working flawlessly on Linux/Windows with CPU and CUDA.

Metadata

Assignees

No one assigned

    Labels

    ep:ACLissues related to ACL execution provider

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions