12 2011 档案

OpenCL memory object 之选择传输path
摘要:对应用程序来说,选择合适的memory object传输path可以有效提高程序性能。下面先看一写buffer bandwidth的例子:1. clEnqueueWriteBuffer()以及clEnqueueReadBuffer() 如果应用程序已经通过malloc 或者mmap分配内存,CL_MEM_USE_HOST_PTR是个理想的选择。有两种使用这种方式的方法:第一种:a. pinnedBuffer = clCreateBuffer( CL_MEM_ALLOC_HOST_PTR or CL_MEM_USE_HOST_PTR ) b. deviceBuffer = clCreateBuf 阅读全文

posted @ 2011-12-18 18:32 迈克老狼2012 阅读(5888) 评论(1) 推荐(1) 编辑

OpenCL memory object 之 传输优化
摘要:首先我们了解一些优化时候的术语及其定义:1、deferred allocation(延迟分配), 在第一次使用memory object传输数据时,runtime才对memory object真正分配空间。 这样减少了资源浪费,但第一次使用时要慢一些[一个context多个设备,一个memory object多个location,见前面的blog]。2.peak interconntect bandwith(峰值内联带宽) host和device之间通过PCIE总线传输数据,PCIE2.0的上行、下行带宽都是8Gb/s, 对于我们的程序,能达到3Gb/s就不错了,我的笔记本测试只有1.2Gb/ 阅读全文

posted @ 2011-12-18 13:52 迈克老狼2012 阅读(3576) 评论(2) 推荐(1) 编辑

OpenCL memory object 之 Global memory (2)
摘要:当我们用clCreateBuffer, clCreateImage创建OpenCL memory object时候,我们需要输入一个flag参数,这个参数决定memory object的位置。 cl_mem clCreateBuffer (cl_context context, cl_m... 阅读全文

posted @ 2011-12-18 08:45 迈克老狼2012 阅读(3986) 评论(0) 推荐(1) 编辑

OpenCL memory object 之 Global memory (1)
摘要:这篇日志是学习AMD OpenCL文档时候的总结。 OpenCL用memory object在host和device之间传输数据,memory object由runtime(运行库,driver的一部分)来管理。 OpenCL中的内存对象包括buffer以及image,buffer是一维数据元素的集合。image主要用来存储一维、二维、三维图像、纹理或者framebuffer... 阅读全文

posted @ 2011-12-17 18:02 迈克老狼2012 阅读(2889) 评论(0) 推荐(2) 编辑

AMD 5XXX 系列显卡的 peak bandwidth计算
摘要:在ATI Stream Computing Programming Guide中,例举了AMD 5系列显卡的参数信息。 我比较关注其中Peak bandwidths的计算,以便在opencl程序测试bandwidth利用率。 下面,我以5870为例,探讨一下如何计算得到这些结果: L1 cache的 peak bandwidth(L1<=>ALU) = compute units... 阅读全文

posted @ 2011-12-16 20:40 迈克老狼2012 阅读(1747) 评论(0) 推荐(0) 编辑

基于OpenCL的mean filter性能
摘要:1.对于一个标准的3*3 均值滤波,kernel代码如下: 使用buffer/image缓冲对象 __kernel void filter(__global uchar4* inputImage, __global uchar4* outputImage, uint N){ int x = get_global_id(0); int y = get_global_id(1); int w... 阅读全文

posted @ 2011-12-16 19:22 迈克老狼2012 阅读(2244) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示