Skip to content

feat(hipfft): implement JIT callback API, deprecate function pointer API - #10875

Merged
regan-amd merged 20 commits into
developfrom
users/evetsso/jit_callback_api_hipfft
Sep 1, 2026
Merged

regan-amd merged 20 commits into
developfrom
users/evetsso/jit_callback_api_hipfft

Conversation

@evetsso

@evetsso evetsso commented Aug 17, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

JIRA ID: AIFFT-9

New APIs to allow specifying JIT callbacks:

  • hipFFT:
    • hipfftXtSetJITCallback

Technical Details

In rocFFT-backed hipFFT, the callback function is specified as SPIR-V bitcode. cuFFT-backed hipFFT accepts LTO-IR bitcode.

Enabled JIT callback tests and removed the running of function pointer callback tests by default. Function pointer callbacks may still be explicitly requested for manual tests with --callback=funcptr.

Test Plan

New test cases cover JIT callbacks.

Test Result

Tests pass.

Submission Checklist

@therock-pr-bot

therock-pr-bot Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass —
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@therock-pr-bot

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@evetsso
evetsso force-pushed the users/evetsso/jit_callback_api_hipfft branch from 2cb31bf to 3c882c9 Compare August 19, 2026 22:29
@evetsso
evetsso force-pushed the users/evetsso/jit_callback_api_hipfft branch from 3c882c9 to 29973f1 Compare August 20, 2026 22:59
@evetsso
evetsso force-pushed the users/evetsso/jit_callback_api_hipfft branch from 29973f1 to 4badd37 Compare August 20, 2026 23:10

@regan-amd regan-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  • The multi-gpu label was added to the PR, FYI.
  • I believe we should reset the default callback_prob to 0.1 in hipfft-test.

Comment thread projects/hipfft/clients/hipfft_params.h Resolved
Comment thread projects/hipfft/CHANGELOG.md Resolved

@regan-amd regan-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just some extra suggestions/thoughts about the latest changes: I let you judge about them.

@anisha-amd anisha-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Minor comments and suggestions, thank you!!

Comment thread projects/hipfft/CHANGELOG.md Resolved
@codecov

codecov Bot commented Aug 27, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 2.27273% with 172 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
projects/hipfft/library/src/amd_detail/hipfft.cpp 2.27% 166 Missing and 6 partials ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #10875      +/-   ##
===========================================
+ Coverage    69.35%   69.68%   +0.33%     
===========================================
  Files         2810     2810              
  Lines       464609   464722     +113     
  Branches     68557    68585      +28     
===========================================
+ Hits        322227   323816    +1589     
+ Misses      118866   117383    -1483     
- Partials     23516    23523       +7     
Flag Coverage Δ *Carryforward flag
TensileLite-CPP 38.33% <ø> (ø) Carriedforward from 0d5500d
TensileLite-Unit 76.15% <ø> (ø) Carriedforward from 0d5500d
hipBLAS 90.62% <ø> (ø) Carriedforward from 0d5500d
hipBLASLt 35.22% <ø> (ø) Carriedforward from 0d5500d
hipCUB 82.68% <ø> (ø) Carriedforward from 0d5500d
hipDNN 86.85% <ø> (+<0.01%) ⬆️ Carriedforward from 0d5500d
hipFFT 43.26% <2.27%> (-1.52%) ⬇️
hipRAND 76.12% <ø> (ø) Carriedforward from 0d5500d
hipSOLVER 69.03% <ø> (ø) Carriedforward from 0d5500d
hipSPARSE 86.99% <ø> (ø) Carriedforward from 0d5500d
rocBLAS 48.22% <ø> (ø) Carriedforward from 0d5500d
rocFFT 51.48% <ø> (+4.88%) ⬆️
rocRAND 56.91% <ø> (ø) Carriedforward from 0d5500d
rocSOLVER 77.32% <ø> (ø) Carriedforward from 0d5500d
rocSPARSE 74.60% <ø> (ø) Carriedforward from 0d5500d
rocThrust 91.60% <ø> (ø) Carriedforward from 0d5500d

*This pull request uses carry forward flags. Click here to find out more.

Files with missing lines Coverage Δ
projects/hipfft/library/include/hipfft/hipfft.h 100.00% <ø> (ø)
projects/hipfft/library/src/amd_detail/hipfft.cpp 33.96% <2.27%> (-2.11%) ⬇️

... and 56 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@regan-amd regan-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just another suggestion if we have bandwidth for it.

Base automatically changed from users/evetsso/jit_callback_api to develop August 28, 2026 13:51
JIRA ID: AIFFT-5

New APIs to allow specifying JIT callbacks:
- hipFFT:
  * hipfftXtSetJITCallback

In rocFFT-backed hipFFT, the callback function is specified as SPIR-V bitcode.  cuFFT-backed hipFFT
accepts LTO-IR bitcode.

Enabled JIT callback tests and removed the running of function pointer callback tests by default.  Function pointer
callbacks may still be explicitly requested for manual tests with --callback=funcptr.
@evetsso
evetsso force-pushed the users/evetsso/jit_callback_api_hipfft branch from 08f24aa to 79945c3 Compare August 28, 2026 14:16
@evetsso
evetsso requested a review from anisha-amd August 28, 2026 15:13

@anisha-amd anisha-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Single suggestion comment, thank you!!

Also put the multi-GPU + callback kernels in the same place as the other coverage kernels, since the db is designed
to be appended to.  Might save some compilation time.
@regan-amd
regan-amd merged commit 43f0cc3 into develop Sep 1, 2026
68 of 73 checks passed
@regan-amd
regan-amd deleted the users/evetsso/jit_callback_api_hipfft branch September 1, 2026 05:00
@assistant-librarian

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants