opencl gauss filter优化(一)】的更多相关文章

1.根据前两次的最终结果: 使用普通buffer,Horizontal 5ms, Vertical 17 ms 使用image buffer:Horizontal 9.4ms, Vertical 6.4 ms 那么使用 Horizontal普通buffer,Vertical image buffer 组合方式的话,是不是时间最少?只是Intermediate image仍使用image对象,Horizontal kernel中的写操作需要改变. 结果: Horizontal 的最大local_w…
1.buffer使用image的方式:Horizontal 与 Vertical 算法一样, 共需30ms,wait time 19ms. const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST; __kernel void ImageGaussianFilterHorizontal(__read_only image2d_t source, //…
Platform: LG G3, Adreno 330 ,img size 3264x2448 C code neon GPU 300 60 29 单位:ms 1. 目前按如下行列分解的方式最快29ms,Horizontal kernel globalWorksize[1] = {height+256-height%256};Vertical kernel globalWorksize2[1] = {width+256-width%256}; localWorksize2[] = {64}; l…
最近一直在做版面分析,其中文本行检测方面,许多文章涉及到了Anigauss也就是各向异性高斯滤波. 顾名思义,简单的理解就是参数不同的二维高斯滤波. 在文章Fast Anisotropic Gauss Filtering中阐明了Anisotropic Gauss Filter可以分解成想,y两个方向不同的一维高斯滤波,其中x,y不必垂直. 下面我们来看一下分解过程. 一个简单的各向同性二维高斯卷积滤波一般如下式 当x,y方向缩放比例不同时我们便得到了各向异性二维高斯滤波如图 当然也可以做其他方向…
使用Intel® FPGA SDK for OpenCL™ 离线编译器,不需要调整kernel代码便可以将其最佳的适应于固定的硬件设备,而是离线编译器会根据kernel的要求自适应调整硬件的结构. 通常来说,应该先优化针对单个计算单元的kernel,之后累哦通过增加计算单元数量来拓展硬件以填充FPGA其余的部分,从而提升性能.Kernel的使用面积与硬件编译所需要的时间有关,因此为了避免硬件编译时间过长,首先要专注于优化kernel在单个计算单元上的性能. 要优化kernel的性能,主要包括数据…
explain plan for select a.* from fxqd_list_20131115_new_100 a where (acct_no, oper_no, seqno, trans_amt) not in (select acct_no, oper_no, seqno, trans_amt from fxqd_list b where reg_date = to_date('20131115', 'yyyymmdd')) and list_type = '1'; -------…
我们以一个二维矩阵表示二元高斯滤波器,显然此二维矩阵的具体形式仅于其形状(shape)有关: def gauss_filter(kernel_shape): 为实现二维高斯滤波器,需要首先定义二元高斯函数: f(x,y)=12πσ2exp(−x2+y22σ2) def gauss(x, y, sigma=3.): Z = 2*np.pi*sigma**2 return 1/Z*np.exp(-(x**2+y**2)/2/sigma**2) 则可进一步给出高斯滤波的实现: def gauss_fi…
有一条SQL性能有问题,在运行计划中发现filter.遇到它要小心了,类似于nestloop.我曾经的blog对它有研究探索运行计划中filter的原理.用exists极易引起filter. 优化前: SELECT GGPI.ID, GGPI.PLAN_STATE,        GGPI.PLAN_TYPE,        GGPI.PLAN_CODE,        GGPI.PLAN_SOURCE_TYPE,        GGPI.PLAN_BEGIN_DATE,        GGPI…
手头一块RK3288的板子,在板子上测试了一张1080p的彩色图灰度转换的OpenCL例子.OpenCL没有任何优化.例子请移步这里. 该例子是编译成安卓平台下的可执行程序. 进入jni文件夹,进行如下操作: 对于我的环境,是把可执行文件,kernel.cl和图片push到设备的//mnt/sdcard/opencl/gray路径下.请自行选择. adb连接设备后,执行效果如下图: 对于统计的GPU的时间为:数据来回拷贝时间+kernels执行时间. 源码:https://github.com/…
对于几个开源库的总结,作为标记,以前看过,现在开始重视起来!更详细资料请移步 开源中国社区! 涉及:OpenCV,OpenCL,OpenGL,OpenPCL 截止到目前: OpenGL的最新版本为4.4,NVIDIA显卡系列已提供了基于4.4版本的驱动: OpenGL ES的最新版本为3.0,高通处理器图形芯片已经可以支持: OpenCV的最新发行版本为2.4.6,  另外3,0版本在14年2月发布,有兴趣可以查看OpenCV官方里程碑图: OpenPCL的最新发行版为1.7.1的源代码,不过编…