[问题] 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