Skip to content

Revert "Add FFT causal conv1d frontend bindings (#437)" - #479

Merged
Anerudhan merged 1 commit into
NVIDIA:developfrom
yeliu-oss:yeliu/revert-pr-437-fft-causal-conv1d-github
Aug 4, 2026
Merged

Revert "Add FFT causal conv1d frontend bindings (#437)"#479
Anerudhan merged 1 commit into
NVIDIA:developfrom
yeliu-oss:yeliu/revert-pr-437-fft-causal-conv1d-github

Conversation

@yeliu-oss

@yeliu-oss yeliu-oss commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Before submitting

Affected area

  • C++ frontend API or graph construction

Summary

Revert #437 in full, removing the FFT causal-conv frontend shims, Python bindings, operation wrapper, samples, documentation, and tests. This also reverts the accompanying FP64 direct causal-conv changes.

Why

#437 enables the FFT causal-conv shims whenever CUDNN_VERSION >= 92600. A cuDNN header set can report version 9.26 without declaring the five required FFT causal-conv APIs, causing frontend C++ compilation to fail before tests run.

A full revert restores compatibility while the corresponding backend APIs remain unavailable. The frontend changes can be reapplied once that dependency is present, preferably using an explicit backend feature macro instead of a version-only compile guard.

Related issues

Reverts #437.

API and compatibility impact

This temporarily removes the APIs introduced by #437, including:

  • cudnn.ops.fft_causal_conv1d
  • cudnnFFTCausalConv1dForward
  • cudnnFFTCausalConv1dBackward
  • cudnnLongFFTCausalConv1dGetBufferSizes
  • cudnnLongFFTCausalConv1dForward
  • cudnnLongFFTCausalConv1dBackward
  • The FP64 direct causal-conv frontend support included in Add FFT causal conv1d frontend bindings #437

The revert restores the complete source tree to public commit 74785165de2da954a2c879a5e3e6f95411c2292d, immediately before #437.

Testing

git diff --check origin/develop...HEAD
git diff --quiet 74785165de2da954a2c879a5e3e6f95411c2292d HEAD

Both commands passed. The second command verifies that the reverted tree is identical to the public tree before #437.

No separate build or test suite was run locally; CI will provide build and test coverage.

Summary by CodeRabbit

  • Breaking Changes

    • Removed FFT-based causal convolution APIs, bindings, samples, tests, and documentation.
    • FFT causal convolution is no longer available through the Python or C++ interfaces.
  • Changes

    • Causal convolution now requires Turing (SM75) or newer architectures.
    • Removed FP64 support.
    • Backward parameter gradients accumulate in FP32 before conversion to the input dtype.
  • Tests

    • Expanded coverage for standard, NWH, block-to-block, and compiled-autograd causal convolution paths.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: ba50f80a-c842-43e7-ba4a-e78a12340b2a

📥 Commits

Reviewing files that changed from the base of the PR and between b5a068d and 0b10d90.

📒 Files selected for processing (15)
  • docs/operations/CausalConv1d.md
  • docs/operations/FFTCausalConv1d.md
  • include/cudnn_frontend_shim.h
  • llms.txt
  • python/cudnn/__init__.py
  • python/cudnn/ops/__init__.py
  • python/cudnn/ops/causal_conv1d.py
  • python/cudnn/ops/fft_causal_conv1d.py
  • python/pycudnn.cpp
  • samples/cpp/CMakeLists.txt
  • samples/cpp/causal_conv1d/fft_causal_conv1d.cpp
  • samples/python/66_fft_causal_conv1d_forward.ipynb
  • samples/python/67_fft_causal_conv1d_backward.ipynb
  • test/python/test_causal_conv1d.py
  • test/python/test_fft_causal_conv1d.py
💤 Files with no reviewable changes (13)
  • llms.txt
  • python/cudnn/ops/init.py
  • python/cudnn/init.py
  • docs/operations/FFTCausalConv1d.md
  • include/cudnn_frontend_shim.h
  • python/pycudnn.cpp
  • test/python/test_fft_causal_conv1d.py
  • samples/cpp/CMakeLists.txt
  • python/cudnn/ops/fft_causal_conv1d.py
  • samples/cpp/causal_conv1d/fft_causal_conv1d.cpp
  • samples/python/67_fft_causal_conv1d_backward.ipynb
  • samples/python/66_fft_causal_conv1d_forward.ipynb
  • test/python/test_causal_conv1d.py

📝 Walkthrough

Walkthrough

The change removes FFT causal-convolution implementations, bindings, exports, samples, tests, and documentation. It also removes FP64 support from causal convolution and standardizes parameter-gradient accumulation on FP32.

Changes

Causal convolution API removal

Layer / File(s) Summary
Remove FFT causal-convolution path
include/cudnn_frontend_shim.h, python/pycudnn.cpp, python/cudnn/__init__.py, python/cudnn/ops/__init__.py, python/cudnn/ops/fft_causal_conv1d.py, samples/cpp/..., samples/python/..., test/python/test_fft_causal_conv1d.py, llms.txt
Removes FFT causal-convolution wrappers, Python bindings, exports, implementation, samples, tests, and documentation references.

Causal convolution gradient behavior

Layer / File(s) Summary
Standardize parameter-gradient dtype
python/cudnn/ops/causal_conv1d.py
Removes FP64 mapping and gradient-dtype selection. Standard, NWH, and B2B backward paths allocate and request parameter gradients in FP32.

Documentation and test updates

Layer / File(s) Summary
Update supported contracts
docs/operations/CausalConv1d.md, python/cudnn/ops/causal_conv1d.py, test/python/test_causal_conv1d.py
Documents Turing-or-later support and BF16, FP16, and FP32 input types. Removes obsolete accumulation details and unused test imports.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

  • NVIDIA/cudnn-frontend#437: Introduced the FFT causal-convolution bindings, API, documentation, samples, and tests that this change removes.

Suggested labels: mod-backend

Suggested reviewers: anerudhan

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies that the pull request reverts the FFT causal convolution frontend bindings introduced by PR #437.
Description check ✅ Passed The description covers the required sections, explains the compatibility issue, lists API impact, and reports validation commands and testing limits.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@yeliu-oss
yeliu-oss requested a review from Anerudhan August 4, 2026 19:23
@Anerudhan
Anerudhan merged commit 05533fc into NVIDIA:develop Aug 4, 2026
1 check passed
Anerudhan added a commit that referenced this pull request Aug 4, 2026
This reverts commit b5a068d.

(cherry picked from commit 05533fc)

Co-authored-by: Ye Liu <yeliu@nvidia.com>
@coderabbitai coderabbitai Bot mentioned this pull request Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants