<p dir="auto">Cudnn8.0 remove function "cudnnGetConvolutionForwardAlgorithm", but OpenCV still use it. So how to resolve it?</p>
<p dir="auto">New CuDNN release introduced new libraries and headers layout and excluded some functions. See initial discussion and found issues in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="614468863" data-permission-text="Title is private" data-url="https://github.com/opencv/opencv/issues/17238" data-hovercard-type="pull_request" data-hovercard-url="/opencv/opencv/pull/17238/hovercard" href="https://github.com/opencv/opencv/pull/17238">#17238</a>. The PR is closed a s abandoned.</p>
<p dir="auto">Found changes:</p>
<ul dir="auto">
<li>introduced <code class="notranslate">cudnn_version.h</code> header with version information</li>
<li>libcudnn is split on several libraries</li>
<li><code class="notranslate">cudnnGetConvolutionForwardAlgorithm</code> function removed, but it's used in OpenCV: <div class="Box Box--condensed my-2">
  <div class="Box-header f6">
    <p class="mb-0 text-bold">
      <a href="https://github.com/opencv/opencv/blob/434014b05eee6bc92c693bc7a462008b6df05b33/modules/dnn/src/cuda4dnn/csl/cudnn/convolution.hpp#L262-L270">opencv/modules/dnn/src/cuda4dnn/csl/cudnn/convolution.hpp</a>
    </p>
    <p class="mb-0 color-fg-muted">
        Lines 262 to 270
      in
      <a data-pjax="true" class="commit-tease-sha" href="/opencv/opencv/commit/434014b05eee6bc92c693bc7a462008b6df05b33">434014b</a>
    </p>
  </div>
  <div itemprop="text" class="Box-body p-0 blob-wrapper blob-wrapper-embedded data">
    <table class="highlight tab-size mb-0 js-file-line-container" data-tab-size="8" data-paste-markdown-skip="">

        <tbody><tr class="border-0">
          <td id="L262" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="262"></td>
          <td id="LC262" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> <span class="pl-c1">CUDA4DNN_CHECK_CUDNN</span>( </td>
        </tr>

        <tr class="border-0">
          <td id="L263" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="263"></td>
          <td id="LC263" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">     <span class="pl-c1">cudnnGetConvolutionForwardAlgorithm</span>( </td>
        </tr>

        <tr class="border-0">
          <td id="L264" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="264"></td>
          <td id="LC264" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         handle.<span class="pl-c1">get</span>(), </td>
        </tr>

        <tr class="border-0">
          <td id="L265" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="265"></td>
          <td id="LC265" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         input.<span class="pl-c1">get</span>(), filter.<span class="pl-c1">get</span>(), conv.<span class="pl-c1">get</span>(), output.<span class="pl-c1">get</span>(), </td>
        </tr>

        <tr class="border-0">
          <td id="L266" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="266"></td>
          <td id="LC266" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         CUDNN_CONVOLUTION_FWD_PREFER_FASTEST, </td>
        </tr>

        <tr class="border-0">
          <td id="L267" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="267"></td>
          <td id="LC267" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         <span class="pl-c1">0</span>, <span class="pl-c"><span class="pl-c">/*</span> no memory limit <span class="pl-c">*/</span></span> </td>
        </tr>

        <tr class="border-0">
          <td id="L268" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="268"></td>
          <td id="LC268" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">         &amp;algo </td>
        </tr>

        <tr class="border-0">
          <td id="L269" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="269"></td>
          <td id="LC269" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line">     ) </td>
        </tr>

        <tr class="border-0">
          <td id="L270" class="blob-num border-0 px-3 py-0 color-bg-default" data-line-number="270"></td>
          <td id="LC270" class="blob-code border-0 px-3 py-0 color-bg-default blob-code-inner js-file-line"> ); </td>
        </tr>
    </tbody></table>
  </div>
</div>
</li>
</ul>