-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Performance] CUDA kernel not found in registries for Op type: ScatterND #21148
Comments
Could you also share the code you used in the |
I just use this code (https://github.com/RVC-Boss/GPT-SoVITS/blob/main/GPT_SoVITS/onnx_export.py) convert torch model into onnx,
In python InferenceSession, I print the sess.get_providers() result, and show ["CUDAExecutionProvider", "CPUExecutionProvider"], it mean some ops work on CPU. I use these onnx models in C++ and then still occurs that problems and the inference speed is slow. There is one thing that i want to mention, in the onnx_export.py export vits.onnx, there isn't such problems. |
@11721206, Could you try 1.18.0 or 1.18.1? 1.17.3 supports ScatterND up to opset 13 but your model is opset 17: 1.18.1 supports ScatterND up to opset 18: |
the torch version does not support opset 18; and i use onnx convert_version to convert opset version ,but I got the same issue as opset 17,ie "CUDA kernel not found in registries for Op type: ScatterND" |
onnxruntime/onnxruntime/core/providers/cuda/tensor/scatter_nd.cc Lines 21 to 23 in 0453cd7
Such lines indicate that the operator is supported since opset version 13, not up to 13.
@11721206 please try, as suggested above, upgrading onnxruntime-gpu to 1.18.0 or 1.18.1. It should work with opset 17 and you don't have to switch the opset version you use. pip install onnxruntime-gpu==1.18.0 # or 1.18.1 |
I have tried and tested, but the result is the same. And now I try to use list to avoid using ScatterND can solve that problem. And is there any othert suggestions that i can try? and I will share my experiment's results . |
@11721206 That is weird, I can reproduce and fix the warning after upgrading on my end. Could you check if you have different but older onnxruntime packages, e.g., |
This issue has been automatically marked as stale due to inactivity and will be closed in 30 days if no further activity occurs. If further support is needed, please provide an update and/or more details. |
Describe the issue
Hello, I want to know why i download the onnxruntime v1.17.3 library, still occurs "CUDA kernel not found in registries for Op type: ScatterND", and inference performance is too slow, is there any steps i should do?
I think there are some issues and PR have fixed this issue ,but I still get this kind of problem.
To reproduce
1: I export GPT-SoVITS model, with opset version 17(is torch.onnx.export highest version)
2: use C++ onnxruntime 1.17.3 to inference on CUDAExecutionProvider
3: in VITS module, the inference speed is CUDA faster than CPU
4: but in GPT Module, the CUDA speed is slower than CPU, I get some logs find "CUDA kernel not found in registries for Op type: ScatterND" and some MemcpyToHost and MemcpyFromHost.
5: torch version 2.2, onnx version 1.16
Urgency
Download from release
Platform
Linux
OS Version
ubuntu18.04
ONNX Runtime Installation
Built from Source
ONNX Runtime Version or Commit ID
onnxruntime-gpu 1.17.3
ONNX Runtime API
C++
Architecture
X64
Execution Provider
CUDA
Execution Provider Library Version
No response
Model File
No response
Is this a quantized model?
No
The text was updated successfully, but these errors were encountered: