[問題] OpenCL GPU benchmark

作者: fishlinghu (令狐瑜)   2016-10-22 08:37:08
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
-lOpenCL
問題(Question):
小弟目前專題是寫OpenCL的benchmark for Intel Graphics
現在正努力測出cache size, cache line size, memory bandwidth
理論上都有很直覺的測量方法
例如cache size就是改變array大小然後一直存取element看access time變化
cache line size就是改access時的stride大小
memory bandwidth就是從host copy到device然後測時間
現在遇到兩個問題
1. 根本不知道Intel Graphic的memory架構
網路上相關資料極少(我都看英文的)
連Intel自己也沒有release document
2. 按照我上面說的方法測試
得出來一堆沒用的資料
像是access time如亂數一般 根本看不出來明顯的上升trend
memory bandwidth理論上是測copy kernel的執行時間之後就可以算
可是不管我data多大 執行時間都差不多
我確定我有加clFinish()
也有設blocking flag = true
總之算是滿大的瓶頸
希望有高手或是有經驗的人能讓我請教
麻煩了
有空回答我問題的人可以在下面留言或是站內
萬分感謝
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
作者: jun0325 (俊)   2016-10-24 16:03:00
我記得intel的內顯都是有LLC,所以都是看到同樣的memoryaddress,所以才測不出來memory copy的時間
作者: VictorTom (鬼翼&娃娃魚)   2016-10-25 22:51:00
https://software.intel.com/en-us/node/540426上面這個不是你要的嗎? 是幾年前的HSW就是了....@_@"這裡有Gen8的 - https://goo.gl/cpzQP5Gen9的 - https://goo.gl/gMJT2N

Links booklink

Contact Us: admin [ a t ] ucptt.com