簡體   English   中英

cv::cuda::NvidiaOpticalFlow_2_0::create 大約需要 30 秒

[英]cv::cuda::NvidiaOpticalFlow_2_0::create takes about 30 seconds

為了使用 NvidiaOpticalFlow 的官方示例腳本,我按照Nvidia Optical Flow SDK的說明從源代碼構建了 OpenCV(稍微修改了構建標志以啟用 JPEG、OPENEXR 和 Eigen)。 OpenCV 版本為 4.5.2。 我可以根據要求發布 CMake 選項。

示例腳本中的這一行大約需要 30 秒。 這是正常的還是我的設置有問題?

其他詳情:

  • 我在 Ubuntu 20.04
  • nvidia-smi提供Driver Version: 470.141.03 CUDA Version: 11.4
  • 要編譯示例腳本,我使用 CMake 和: cmake_minimum_required(VERSION 3.16)set(CMAKE_CXX_STANDARD 20)

根據評論中的用戶@RobertCrovella,延遲可能與 JIT 編譯有關。 事實上,當在一個腳本中調用兩次create時,第二次沒有延遲。

不管這是否是真正的原因,根本原因是我在 OpenCV 構建標志中錯誤地為我的 GPU 指定了拱門。 它們被設置為-DCUDA_ARCH_BIN:STRING=7.5 -DCUDA_ARCH_PTX:STRING=7.5而對於我的 GPU (Nvidia RTX 3090) 他們應該被設置為-DCUDA_ARCH_BIN:STRING=8.6 -DCUDA_ARCH_PTX:STRING=8.6 我用正確的標志重建了 OpenCV 並且延遲消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM