cuda+opencv的配置以及細節問題
阿新 • • 發佈:2019-01-05
本文轉載部分已經獲得作者的許可
以上網址是配置的具體方法,不過在下面我還要新增一些常見問題以及注意事項。
顯示卡作為電腦硬體的重要的一部分,其升級和換代的速度特別快,就論其框架來說,常見的一般有特斯拉、費米、開普勒以及麥克斯韋架構,這些在本文中並不是主要內容,我們在這裡說的是其中一個引數Compute Capability,詳情可見一下網址
下面我們以臺式電腦gtx950顯示卡為例來說明這個引數在配置過程中的重要性。
我們看到臺式電腦gtx950m的Compute Capability是5.2,所以在cmake編譯的過程中,我們一般會看到這個
是不是特別奇怪,居然沒有5.2
這個時候我們就要這樣修改,把5.2加上去
這樣我們再繼續編譯。
為什麼要這樣做呢?
下面是我的個人觀點可能不準確
這是因為GPUS一般包括許多不同的機器碼和中間碼,當你編譯的opencv-cuda庫中不包括你的顯示卡所對應的架構和彙編指令時,這是你的GPUS會選擇自己去重新編譯,這樣大量的時間會被白白的浪費,於是你的程式無論是第一次還是多次執行速度都是特別慢。
另外,如果你的cmake編譯opencv庫成功但在vs編譯出錯的話,那麼你肯能需要換一個版本的opencv庫了,這可能是你的cuda與opencv不相容。