作者sunneo (艾斯寇德)
看板C_and_CPP
标题Re: [问题] OpenCL GPU benchmark
时间Sat Oct 22 13:49:48 2016
※ 引述《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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1477115392.A.5C3.html