Re: [問題] OpenCL GPU benchmark

看板C_and_CPP作者 (艾斯寇德)時間7年前 (2016/10/22 13:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《fishlinghu (令狐瑜)》之銘言: : 開發平台(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然後測時間 : 現在遇到兩個問題 hmmmm, 你沒有放程式碼,只能猜測你沒有檢查return value, 例如事實上他從clGetPlatformIDs或clGetDeviceIDs就失敗了, 或者你的Kernel Source在clBuildProgram編譯過程中有錯誤, 所以clCreateContext或後面的操作也都只是在面對invalid argument 在kernel內超出存取範圍也會讓kernel直接跳掉。 memory transferring time看你data size有多大,因為也不知道你用的是哪個API 是clEnqueueWriteBuffer嗎? 還是SVM? 搞不好因為Intel Graphic的data傳很快而沒有像是PCIe的瓶頸。 因此還是得將程式碼攤開,把程式印出訊息秀出來才知道問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.130.151 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1477115392.A.5C3.html
文章代碼(AID): #1O2lu0N3 (C_and_CPP)
文章代碼(AID): #1O2lu0N3 (C_and_CPP)