microsoft / microsoft/onnxruntime
ms_experimental DFT feedback
Open
@faxu is already working on this.
Since Apr 21, 2022.
- Dominant language
- C++
- Stars
- 21.9k
- Forks
- 4.2k
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 179
Description
I have recently been using the DFT operator which is built with the ms_experimental flag and had some feedback and questions regarding the roadmap.
- Performance: For input sizes which are power of 2 DFT dispatches to
fft_radix2, else it falls back todft_naive(which is incredibly slow). At a high level I understand why it is importance to have a power of 2 input for performance, buttorch.fft.fttis robust to other sizes and does not exhibit these same performance cliffs, so I was wondering if the onnxruntime implementation is able to be modified in the same way? - Experimental status: Are there plans to integrate these operators into the standard opset to avoid the need for the custom build flag in the future? There is an open PR to provide support for FFT as native ONNX operator, which could help fast-track this?
- EP alignment: The ms_experimental op currently only supports the CPU execution provider, however there is a different fft implementation for CUDA in
contrib_ops/cuda/math/fft_ops.h, which has a different function signature and domain, are there any plans to align these so that a single model could access both operators, just by switching out the EP?
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.
Assessment
This issue has not been assessed yet.