Skip to content

Support F64 compute data type for convolutions - #423

Merged
yeliu-oss merged 1 commit into
NVIDIA:developfrom
derdrdirk:fix-double-scaling-attributes
Jul 27, 2026
Merged

Support F64 compute data type for convolutions#423
yeliu-oss merged 1 commit into
NVIDIA:developfrom
derdrdirk:fix-double-scaling-attributes

Conversation

@derdrdirk

@derdrdirk derdrdirk commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Bug Fixes
    • Updated convolution forward, backward-data, and backward-filter operations to use alpha/beta scaling parameters in the correct precision for double-precision compute.
    • Adjusted pointwise operations to apply alpha scaling factors using matching double vs float attribute types, improving numerical consistency.
    • These changes ensure scaling parameters align with the selected compute data type for more reliable results.

@coderabbitai

coderabbitai Bot commented Jul 22, 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: 6d22c2e7-242c-4f30-acba-a194224513aa

📥 Commits

Reviewing files that changed from the base of the PR and between ada8df4 and f9aad58.

📒 Files selected for processing (4)
  • include/cudnn_frontend/node/conv_dgrad.h
  • include/cudnn_frontend/node/conv_fprop.h
  • include/cudnn_frontend/node/conv_wgrad.h
  • include/cudnn_frontend/node/pointwise.h
🚧 Files skipped from review as they are similar to previous changes (1)
  • include/cudnn_frontend/node/conv_wgrad.h

📝 Walkthrough

Walkthrough

Convolution forward, backward-data, backward-filter, and pointwise operation creation now selects scalar values and cuDNN attribute data types based on the configured compute data type.

Changes

Compute-type-aware operation scalars

Layer / File(s) Summary
Typed convolution and pointwise coefficients
include/cudnn_frontend/node/conv_fprop.h, include/cudnn_frontend/node/conv_dgrad.h, include/cudnn_frontend/node/conv_wgrad.h, include/cudnn_frontend/node/pointwise.h
Alpha and beta or alpha1 and alpha2 attributes use CUDNN_TYPE_DOUBLE with double values for double compute types, and CUDNN_TYPE_FLOAT with float values otherwise.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: anerudhan

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided, so the required template sections are missing. Add the required template sections with concise details for Affected area, Summary, Why, Related issues, API and compatibility impact, and Testing.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding F64 compute-type support for convolution-related scaling attributes.
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.

@derdrdirk
derdrdirk force-pushed the fix-double-scaling-attributes branch from 6f127fb to ada8df4 Compare July 22, 2026 13:15
@derdrdirk
derdrdirk force-pushed the fix-double-scaling-attributes branch from ada8df4 to f9aad58 Compare July 22, 2026 13:20
@Anerudhan

Copy link
Copy Markdown
Collaborator

Thanks @derdrdirk for your contribution.
Please note that this change will go-in with Apache-2 License (instead of the MIT License that cudnn-frontend is currently with)

Also adding @yeliu-oss to help with review.

@Anerudhan Anerudhan added mod-frontend cuDNN frontend APIs, operation graph construction, plans, and user-facing wrappers. orig-external Reported or requested by an external user, customer, or community contributor. cat-enhancements labels Jul 23, 2026
@Anerudhan Anerudhan added this to the Frontend 1.27.0 milestone Jul 23, 2026
@Anerudhan

Copy link
Copy Markdown
Collaborator

@cudnn-ci-bot run

@cudnn-ci-bot

Copy link
Copy Markdown

🚀 Running mirror pipeline

Branch: cudnn-gh/pr-423-f9aad58
Pipeline: 59287751

@derdrdirk

Copy link
Copy Markdown
Contributor Author

Acknowledged. The license is fine. Anything else needed from my side?

@yeliu-oss
yeliu-oss self-requested a review July 27, 2026 17:03
@yeliu-oss

Copy link
Copy Markdown
Collaborator

LGTM

@yeliu-oss yeliu-oss left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@yeliu-oss
yeliu-oss merged commit 5f680bc into NVIDIA:develop Jul 27, 2026
1 check passed
Anerudhan added a commit to Anerudhan/cudnn-frontend that referenced this pull request Jul 29, 2026
…y MIT)

Rebased onto current develop (4f75b1f). Relicenses NVIDIA-authored code from
MIT to Apache-2.0 using the exact NVIDIA OSS SPDX header, while keeping under
MIT every file that carries non-NVIDIA contributions, so no third party's code
is relicensed without consent.

License assignment (per-file SPDX tag on every source file):
- Apache-2.0: 515 files authored solely by NVIDIA (incl. the new Rubin/BF16
  grouped GEMM kernels and gemm_proj_rope_mxfp8 variants).
- MIT (67): files with surviving lines from external contributors in the
  issue NVIDIA#431 sign-off list, determined by git blame on develop.
- MIT (29): FlashAttention/QuACK-derived files carrying external authors'
  copyright; pinned to MIT so the Apache-2.0 root does not absorb them.

New since the previous revision of this PR (develop 3a9ed3f -> 4f75b1f):
- 26 new files headered; 63 modified files re-analyzed.
- Two new external contributors, adding 4 files to the MIT set:
  DrDirk (NVIDIA#423) -> conv_dgrad.h, conv_fprop.h, conv_wgrad.h
  Hongxiao (NVIDIA#410) -> test/python/fe_api/dsa/test_DSA_indexer_top_k.py
  Both must be added to the issue NVIDIA#431 consent list.
- rmhaskar (NVIDIA#432) verified NVIDIA-affiliated; Chase Block now commits from an
  NVIDIA address. Neither adds MIT files.
- PR NVIDIA#434 removed the Jerry Chen personal copyright from bwd_barriers.py;
  6 other DSA files still carry it and remain Category 2.

Licensing files: LICENSE.txt (Apache-2.0), LICENSE-MIT.txt, LICENSING.md
(dual-license manifest with per-file introducing-commit links),
THIRD_PARTY_LICENSES.txt, NOTICE, pyproject ('Apache-2.0 AND MIT'), README.

Every change is comment/header-only; all Python compiles.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Anerudhan Anerudhan mentioned this pull request Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cat-enhancements mod-frontend cuDNN frontend APIs, operation graph construction, plans, and user-facing wrappers. orig-external Reported or requested by an external user, customer, or community contributor.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants