取得 CUDA 版的 OpenCV 後, 使用 OpenCV 前, 先建立環境變數 OPENCV_DIR, 使其指向 opencv 目錄 ( C:\opencv\build\ ):
- Aug 30 Thu 2018 22:34
[CUDA] 與 OpenCV 共舞
- Aug 30 Thu 2018 00:35
[CUDA] OpenCV CUDA 程式庫
- Aug 29 Wed 2018 12:17
[CUDA] 更新Visual Studio後無法編譯的問題
由於 CUDA 對 Visual Stidio 的 Integration 會檢查版本, 如果安裝 CUDA 之後更新升級 Visual Stdio, 可能導致因版本錯誤而出現以下訊息:
#error -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!
- Aug 27 Mon 2018 22:48
2018.08.27 與那國町持續訊號
昨天19時起到今天晚上, 與那國町一直有訊號, 那個位置剛好是風速較大的位置, 前幾天 Kevin Lin 在 [地震預測需要摒除成見群策群力] 討論到風力可能造成房子震動, 與那國町跟蘭嶼都是那附近剛好突出海面的位置, 不曉得有跟風力沒有關係, 以後列入觀察比對項目
- Aug 25 Sat 2018 16:56
[CUDA] 平行化之 Scan 演算法
- Aug 25 Sat 2018 11:42
[CUDA] 平行化之 Reduce 演算法
- Aug 24 Fri 2018 21:45
[CUDA] 多重讀取與寫入的互斥問題
如果 kernel 執行時, 不同的 thread 對同一個變數進行讀取與寫入, 會發生甚麼事呢? 當不同thread被同時執行時, 同時去讀取同一個變數, 得到相同的值, 如果把此值運算後同時又寫回去, 最後的值就不一定是多少了, 以下程式開啟 BlockSize*ThreadSize 個 thread 去執行把 global memory 陣列變數加1的動作 :
#include "cuda_runtime.h" |
- Aug 24 Fri 2018 20:40
2018.08.24 無訊號中震前出現少數小訊號
- Aug 24 Fri 2018 18:29
[CUDA] 測量效能
這裡使用兩種方式:
- 使用 windows的 PerformanceCounter, 只要 include <Windows.h> 即可使用
- 使用 cudaEvent
arraySize受限於host與gpu的記憶體容量, 可自行調整測試, repeat為重複執行次數. 如果在 main() 中重複呼叫 addWithCuda(), 會因為記憶體搬移花費大量時間, 反而可能比CPU還慢, 因此直接在 addWithCuda() 中重複呼叫 kernel去計算. 資料陣列可宣告於 globalㄝ如果放在local 最好宣告 static, 否則 arraySize 太大會造成 stack overflow.
- Aug 24 Fri 2018 17:49
[CUDA] 檢視 CUDA 性能