nppGetStreamContext disappeared from CUDA 12.9?

After upgrading to CUDA 12.9, code using nppGetStreamContext() does not compile any more.
Indeed, nppGetStreamContext()(and some others) disappeared from nppcore.h.
I can’t find any deprecation mention.
Also, it is still part of nppc.lib, so it is possible to manually declare it and compile/link properly.
Is it a regression, and should I open a bug report for that ? Or did I miss something ?

3 Likes

Same issue for me, OpenCV won’t compile anymore. Pretty weird that Nvidia dropped that function without any deprecation warning beforehand.

You may wish to file a bug

Ok, Bug 5262035 filed

Having the same issue, it seems in cuda 12.9, almost all NPP functions are removed without warning.
12.9 doc
Core NPP Functions — npp 12.9 documentation
12.8 doc

Having the same issue and am unable to revert for my OpenCV build purposes. I am using some old prebuilt whl from online but it is incomplete. Also, I can’t see the bug. “To access these materials, you must be a member of one the NVIDIA programs listed below. Click the link to learn about each program’s eligibility requirements and application process.” (There are no programs listed below)

1 Like

@patrickjpoconnell
there is a PR for OpenCV to fix the builds

1 Like

awesome, thx!

Conclusion of ticket 5262035

Non-CTX APIs are restored now on CUDA 12.9 update1 , please kindly check the latest release .
What happened here is

  1. We are sorry to mis-remove the non-CTX APIs in CUDA 12.9.0 which is actually planned to a next major version .
  2. We immediately restored the non-CTX APIs in 12.9 U1
  3. non-CTX APIs deprecation has been informing for many releases , but we notice that our release note is not very clear on this and we have improved the deprecation info in release notes .
  4. The non-CTX APIs will be completely removed in next major CUDA version after CUDA 12.9 U1 , please kindly adjust your program to use application-managed stream contexts for improved performance and better integration with modern CUDA workflows.

Feel free to comment back if you have extra concern .

Best,
Yuki

I don’t get it.
You are talking about non-CTX APIs. This is not the topic of the ticket.

Non-CTX APIs have been planed to be removed for a long time, that’s true.

But nppGetStreamContext() is NOT a non-CTX API. It is precisely a CTX API, to migrate away from Non-CTX APIs, designed to initialize a context.

At least this is what I thought.

Should it not be the case, how are we supposed to initialize correctly a NppStreamContext struct ?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.