GPGPU OpenCL 精确字符串查找
字符串查找是信息安全、信息过滤领域的重要操作,尤其是对大文本的实时处理。这篇作为实例,使用GPU OpenCL进行精确模式串查找。
1.加速方法
(1)将少量常量数据,如模式串长度、文本长度等,保存在线程的private memory中。
GPGPU OpenCL Reduction操作与group同步
Reduction操作:规约操作就是由多个数生成一个数,如求最大值、最小值、向量点积、求和等操作,都属于这一类操作。
有大量数据的情况下,使用GPU进行任务并行与数据并行,可以收到可好的效果。
group同步:OpenCL只提供了工作组内的各线程之间的同步机制,并没有提供所有线程的同步。
OpenCL 学习step by step (8) 灰度图Histogram计算(2)
现在我们利用上一篇教程的方法,来统计一副RGBA图像中有多少个像素点(该像素点满足R, G, B, A任意分量>=5)。我考虑的方法是建立256 bin的直方图,对于一个像素,求max(R, G,B,A),用该值决定该像素点进入那个bin,这样求出直方图后,width*height - hostBin[0] - hostBin[1] - hostBin[2] - hostBin[3] - hostBin[4],即为我们要的结果。
OpenCL 学习step by step (7) 灰度图Histogram计算(1)
histogram翻译成中文就是直方图,在计算机图像处理和视觉技术中,通常用histogram来进行图像匹配,从而完成track,比如meanshift跟踪算法中,经常要用到图像的直方图。 灰度图的histogram计算,首先要选择bin(中文可以称作槽)的数量,对于灰度图,像素的范围通常是[0-255],所以bin的数目就是256,然后我们循环整幅图像,统计出每种像素值出现的次数,放到对应的bin中。
OpenCL 学习step by step (6) 旋转图像
在本教程中,我们学习用opencl进行简单的图像处理,对一个图片进行旋转。图片读入、保存等工作,我们使用开源的FreeImage,下载地址:http://freeimage.sourceforge.net/ 首先我们建立一个gFreeImage类,用来装入图像,该类主要调用FreeImage的函数,首先会初始化FreeImage库,然后根据文件名猜测图像文件格式,最终load图像文件到变量FIBITMAP *bitmap中去。
AMD OpenCL大学课程(7)
6、Nvdia GPU Femi架构 GTX480-Compute 2.0 capability:
有15个core或者说SM(Streaming Multiprocessors )。
AMD OpenCL大学课程(5)
OpenCL内存模型 OpenCL的内存模型定义了各种各样内存类型,各种内存模型之间有层级关系。各种内存之间的数据传输必须是显式进行的,比如从host memory到device memory,从global memory到local memory等等。