I have successfully tested a small C++ program which uses the NVIDIA cuDNN API to run code on a GPU. The cuDNN API level is 9.1.1. The program compiles, links and runs OK.
What puzzles me is that according to the official NVIDIA API documentation a large number of the cuDNN functions are marked as deprecated. E.g. one such function is cudnnActivationForward()
, which seems to be at the core of what the cuDNN library is for.
Nowhere can I seem to find notes about why these functions are going away, or what replaces them. It is of course OK that an API is being modernized, but normally then some information on what to use instead, or a migration path is provided by the API developer.
Does anyone have any pointers or insight why these functions are being deprecated, and what else to use instead?
The overview is stating
The cuDNN version 9 library is reorganized into several sub-libraries. This new library structure separates legacy functionality (an imperative API with a fixed set of operations and fusion patterns in cuDNN version 7 and older) from the graph API (a declarative API, introduced in cuDNN version 8), as well as from the engine implementation. [...] We recommend users to make API calls through the graph API [...].
cudnnActivationForward()
is part of the old imperative API. As the APIs come from a different programming paradigm I guess there is no one-to-one correspondence between the APIs. For further information see the Developer Guide: Graph API