2Know的博客

逻辑可以让你从a走到z,想象力可以让你到达任何地方

OpenCL中的向量数据类型转换

OpenCL中的向量数据类型转换 1.函数原型 convert_destType(sourceType) destType convert_destType<_sat>&...

2018-06-20 20:58:14

阅读数:366

评论数:0

OpenCL简介

一、渊源   在硕士期间,由于实验室项目需求,本人在GPU上完成了一些医疗成像算法的加速。由于人工智能的爆发,笔者顺利找到了一份GPU优化的工作。如今即将毕业,笔者经过一年多的学习和应用,对于GPU编程有了基本的认识,因此在此编写几篇简单的入门引导博客,帮助更多的人尽快入门,少走弯路。如果总结中...

2017-12-04 19:17:12

阅读数:1120

评论数:0

OpenCL做并行滤波

本实验主要进行OpenCL一维信号的滤波;主要思路是以离散信号的序列点作为目标,一个工作项负责一个信号点的计算;这样做的好处是方便,相对于串行实现获得相当大的性能提升;但是每个工作项负载不均衡。

2016-10-15 11:25:31

阅读数:666

评论数:0

OpenCL矩阵乘法的例子

前两篇博客中介绍过矩阵转置的两种方法,矩阵乘法可以先对矩阵做转置运算,然后再对应相乘; 矩阵大小是65*8192 先对8192*65的矩阵转置为65*8192; 然后由65个工作项,每个工作项负责一行数据的乘法; 完成65行数据的乘法; 转置是由8192个工作项完成的; 代码中给出了C...

2016-10-13 09:46:56

阅读数:1382

评论数:0

OpenCL矩阵转置(二)

所谓矩阵,在内存中也是一串数字;所以转置就是将数据的存储相对位置进行调换。上一篇博客介绍了按照转置定义方法进行转置的技巧;但是那种方法仅限于方阵,对于一般矩阵转置相对比较困难(可以将一般矩阵分块);所以今天介绍一般矩阵转置方法;

2016-10-10 21:05:58

阅读数:479

评论数:0

OpenCL中kernel的循环调用

kernel的循环调用主要是涉及缓冲区的创建和主机端命令同步

2016-10-09 10:47:37

阅读数:2557

评论数:4

OpenCL笔记之主机端同步

关于主机端同步,我一共进行了四个实验;主要是对四中方法的实验;

2016-10-08 22:19:53

阅读数:1096

评论数:1

OpenCL实现矩阵转置

本例子主要参考OpenCL实战书中提到的方法。 矩阵转置就是行列互换,但是作为并行计算的转置,首先考虑分块,由不同的工作项同时对不同的矩阵块进行行列互换,以此来提高矩阵转置的效率。具体操作如下: 这是一个8*8的矩阵,将其分为2*2的矩阵块。一共有16个矩阵块,分为对角线上的矩阵块和非对角线...

2016-10-04 14:57:25

阅读数:605

评论数:0

OpenCL实现序列卷积

在上一篇博客中讲解了卷积和滤波的区别,本文主要介绍利用OpenCL如何在GPU上实现序列卷积。采用上文中的第一种方法实现:

2016-10-04 13:51:02

阅读数:482

评论数:0

OpenCL入门二——开发环境

首先需要正常安装visual studio软件,然后下载AMD APP SDK(本文以A卡为例)下载地址: http://developer.amd.com/community/blog/2015/08/26/introducing-app-sdk-30-opencl-2/ 正常安装SDK; ...

2016-09-30 10:15:55

阅读数:919

评论数:0

OpenCL实现MapReduce算法

MapRedue算法并不是为了解决特定问题而存在的,它是为了解决涉及分布式运算的一类问题而提供的一种计算框架。MapReduce的基本实现包含两部分:映射阶段,从输入数据中产生键值对;归并阶段,处理这些键值对,并输出结果。MapReduce常常和集群计算相关,但是在此仅仅以一个OpenCL实现字符...

2016-09-22 16:47:26

阅读数:823

评论数:1

OpenCL入门(三)——Hello Word

这是OpenCL的第一个程序,所谓的helloword!本程序实现的是向量加法。首先从主要的主机API开始介绍。 1.创建平台结构 2.创建设备结构 3.创建上下文 4.创建程序 5.编译程序 6.创建命令队列 7.创建内核 8创建缓存对象 9.设置内核参数 10.执行内核 11.读取内核结果

2016-09-19 19:06:57

阅读数:1676

评论数:0

关于OpenCL架构的整理

关于OpenCL架构的整理OpenCL不仅仅是一种编程语言,也是一种并行编程框架。它包括编程语言、API、函数库以及运行时来支持软件在整个平台上的开发。 下面介绍OpenCL中包含的各个模型: 平台模型Platform Model 内存模型Memory Model 执行模型Execution Mo...

2016-04-18 21:53:36

阅读数:1251

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭