microsoft / microsoft/onnxruntime
FusedMatMul kernel does not support the double data type
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 21.9k
- Forks
- 4.2k
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 179
Description
Describe the bug
When I run Transpose+MatMul, the following error will be reported

It seems that when onnxruntime encounters this situation, the FusedMatMul kernel will be used, but the double type is not supported.
Is this a known issue? When will it be scheduled for support?
Urgency
Now use cast op temporarily, switch to float type to execute
System information
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04):Ubuntu 16.04
- ONNX Runtime installed from (source or binary):pip install
- ONNX Runtime version:1.10.0
- Python version:3.6
- Visual Studio version (if applicable):
- GCC/Compiler version (if compiling from source):
- CUDA/cuDNN version:10.2
- GPU model and memory:16G
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with onnxruntime/core/optimizer/matmul_transpose_fusion.cc around the linked line 200 and reproduce the reported Transpose+MatMul case using double data. Trace where the FusedMatMul kernel rejects double; the issue is done when this path supports the type without requiring a cast or reporting the current error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100