OpenCL
Leon Lu
这个作者很懒,什么都没留下…
展开
-
OpenCL简单入门介绍(根据《OpenCL Overview》翻译整理)
根据《OpenCL Overview》与《OpenCL Technical Overview》整理编写,由于第一次接触OpenCL,定会有部分的专业词汇翻译不当,敬请指正。1.《OpenCL Overview》整理笔记这是一个异构的世界 OpenCL让程序员写单一的可移植程序,在一个异构平台上使用所有的资源。OpenCL使用 1. 定义平台; 2.原创 2014-01-27 16:36:24 · 4977 阅读 · 0 评论 -
《Mali OpenCL SDK v1.1.0》教程样例之五“64位整数与原子操作”
介绍 在本教程中,我们将会看到在OpenCL中使用长数据类型。我们也会触及如何和为什么要在OpenCL中使用原子变量。在这个过程中,我们介绍了Mali-T600系列GPU支持的64位原子扩展。长数据类型 在OpenCL嵌入式原创 2014-03-10 14:50:46 · 2900 阅读 · 0 评论 -
《Mali OpenCL SDK v1.1.0》教程样例之六“索贝尔滤波器”
Sobel图像滤波器是一种简单的卷积滤波器,主要用于边缘检测算法。样例结果输入图像输出图像算法 一种做图像边缘检测的技术是,找出图像的梯度。大梯度值的区域对应图像色彩或密度的剧变区域。典型地,这些区域是边缘。 如果你对于幅图像卷积两个Sobel算子,你会得到两个输出: > X方向的梯度(dX) > Y方原创 2014-03-14 14:26:10 · 4015 阅读 · 1 评论 -
《Mali-T600系列GPU OpenCL开发者指南》第六章< 为Mali GPU调整现有OpenCL代码>笔记
本章介绍如何为 Mali GPU 优化现有的 OpenCL 代码。它包含以下小节: > 关于为优化现有代码 > 为优化现有代码的步骤 6.1 关于为 Mali GPU 优化现有 OpenCL 代码 OpenCL 是一种可移植语言,但并不总是在性能上可移植。这意味着 OpenCL 可以在不同类型的计算设备上工作,但性能无法维持。现有的 OpenCL 通常针对桌面原创 2014-03-12 16:50:45 · 3631 阅读 · 3 评论 -
《Mali-T600系列GPU OpenCL开发者指南》第五章<转换现有代码到OpenCL>笔记
5.1 检索你的应用程序 检索你的应用程序,寻找计算最密集的部,这些是值得移植到OpenCL上的部分。 你可以使用DS-5来检索你的应用程序,从Mali开发者网站下载DS-5:http://www.malideveloper.arm.com5.2 为并行化分析你的代码 该部分描述如何为并行化,分析计算密集型代码,包含以下部分: >为并行原创 2014-03-12 10:22:26 · 2690 阅读 · 0 评论 -
《Mali OpenCL SDK v1.1.0》教程样例之四“图像对象”
介绍 纹理(图像)是现代图像应用的很大一部分。正因为如此,图形硬件已经发展到允许高访问性能地对纹理进行访问和操作。为充分使用这一硬件,OpenCL包括了一个可选的图像数据类型。这些"图像对象"在所有Mali-T600系列GPU上受到支持。图像代表大型数据网格,可以并行地被处理。正应为如此,图像数据和图像操作通常非常适合在OpenCL中做加速。图像数据有两种方式可以被OpenCL存储和原创 2014-03-04 16:46:21 · 4135 阅读 · 0 评论 -
《Mali OpenCL SDK v1.1.0》教程样例之一“Hello World”
1、算法简述 实现矩阵相加:Cn = An + Bn。这个例子虽然很简单,但是由于矩阵元素之间相互独立,每个元素可以非常容易地进行并行计算,可以非常理想地在OpenCL中实现。2. C/C++实现 /* * This confidential and proprietary software may be used only as * aut原创 2014-02-27 16:48:42 · 6936 阅读 · 3 评论 -
《Mali OpenCL SDK v1.1.0》教程样例之三“内存缓冲区”
本文讲述如何在Mali-T600系列GPU和CPU之间高效共享内存。介绍 当处理大量数据时(在OpenCL应用中这是典型的情况),确保主机与OpenCL设备之间尽可能高效地共享内存是非常重要的。我们已在hello world样例中看到了如何使用内存缓冲区。hello world例程遵循了我们认为的对于在主机和OpenCL设备之间共享内存的“最佳实践”。这一教程讲述这些原创 2014-02-28 16:25:28 · 4888 阅读 · 0 评论 -
《Mali OpenCL SDK v1.1.0》教程样例之二“程序模板”
在OpenCL SDK根目录下的samples\template,存有程序的模板,其中“template.cpp”是宿主机代码模板,“assets/template.cl”是内核代码模板。“template.cpp”使用了common目录下的“common.cpp”库来建立环境。1. 构建OpenCL环境1.1 创建上下文 在第一个可用平台上创建一个上下文原创 2014-02-28 14:30:08 · 3505 阅读 · 0 评论 -
基于CUDA的OpenCL开发环境搭建与入门程序示例
参考资料:《详细程序注解学OpenCL一 环境配置和入门程序》、《VS2010 NVIDIA OpenCL 开发环境配置》一、搭建开发环境1. 下载和安装CUDA SDK 下载路径:https://developer.nvidia.com/cuda-downloads ; 如果默认安装路径的话,是在:C:\Program Files\NVIDIA GPU原创 2014-02-12 09:31:42 · 5888 阅读 · 9 评论 -
OpenCL案例研究之一<矩阵乘法>
一、案例简述 本案例讲述使用OpenCL计算矩阵乘法:C = A * B 。 设A、B、C分别是大小为N*P、P*M和N*M的矩阵,那么顺序实现的C代码可以如下所示: // C Functionvoid mat_mul( int Ndim, int Mdim, int Pdim, float* A, float* B, float* C){ in原创 2014-02-24 15:00:12 · 11342 阅读 · 2 评论