取得 CUDA 版的 OpenCV 後, 使用 OpenCV 前, 先建立環境變數 OPENCV_DIR, 使其指向 opencv 目錄 ( C:\opencv\build\ ):

undefined

ghostyguo 發表在 痞客邦 留言(0) 人氣()

OpenCV  現在有支援 CUDA 與 OpenCL, 但是官網預先編譯過的程式庫並未包含 CUDA, 所以要自行從原始檔進行編譯.
1. 先從 OpenCV官網下載原始檔, 然後解壓縮.

ghostyguo 發表在 痞客邦 留言(1) 人氣()

由於 CUDA 對 Visual Stidio 的 Integration 會檢查版本, 如果安裝 CUDA 之後更新升級 Visual Stdio, 可能導致因版本錯誤而出現以下訊息:
    #error -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!

ghostyguo 發表在 痞客邦 留言(0) 人氣()

昨天19時起到今天晚上, 與那國町一直有訊號, 那個位置剛好是風速較大的位置, 前幾天 Kevin Lin 在 [地震預測需要摒除成見群策群力] 討論到風力可能造成房子震動, 與那國町跟蘭嶼都是那附近剛好突出海面的位置, 不曉得有跟風力沒有關係, 以後列入觀察比對項目

undefined

ghostyguo 發表在 痞客邦 留言(0) 人氣()

影像處理 histogram 等化處理時, histogram 視為機率分布函數 (pdf), 經常將其積分為累積分布函數 cdf, 例如:
        pdf = { 1, 2, 3, 4, 5, 6, 7, 8}

ghostyguo 發表在 痞客邦 留言(0) 人氣()

考慮一個典型的總和運算 :

     int sum = 0;

ghostyguo 發表在 痞客邦 留言(0) 人氣()

如果 kernel 執行時, 不同的 thread 對同一個變數進行讀取與寫入, 會發生甚麼事呢? 當不同thread被同時執行時, 同時去讀取同一個變數, 得到相同的值, 如果把此值運算後同時又寫回去, 最後的值就不一定是多少了, 以下程式開啟 BlockSize*ThreadSize 個 thread 去執行把 global memory 陣列變數加1的動作 :

#include "cuda_runtime.h"

ghostyguo 發表在 痞客邦 留言(0) 人氣()

昨天開始因低氣壓影響, 訊號很少, 早上5點有一小波, 位置跟6:49的屏東地震一樣

 

undefined

 

ghostyguo 發表在 痞客邦 留言(0) 人氣()

這裡使用兩種方式:

  • 使用 windows的 PerformanceCounter, 只要 include <Windows.h> 即可使用
  • 使用 cudaEvent

arraySize受限於host與gpu的記憶體容量, 可自行調整測試, repeat為重複執行次數. 如果在 main() 中重複呼叫 addWithCuda(), 會因為記憶體搬移花費大量時間, 反而可能比CPU還慢, 因此直接在 addWithCuda() 中重複呼叫 kernel去計算. 資料陣列可宣告於 globalㄝ如果放在local 最好宣告 static, 否則  arraySize 太大會造成 stack overflow.

ghostyguo 發表在 痞客邦 留言(0) 人氣()

 

CudaInfo(): 列印Cuda相關能力

ghostyguo 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼