使用OpenCL(二)

再学习一个新函数吧

1 cl_context clCreateContext(const cl_context_propertires* properties,
2                                           cl_uint num_devices,
3                                           const cl_device_id* devices,
4                                 void (CL_CALLBACK *pfn_notify) (
5                                 const char* errinfo,
6                                                      const void* private_info, size_t cb,
7                                                      void *user_data),
8                                 void *user_data, cl_int *errcode_ret)

时间: 2024-10-12 03:57:44

使用OpenCL(二)的相关文章

OpenCL入门:(二:用GPU计算两个数组和)

本文编写一个计算两个数组和的程序,用CPU和GPU分别运算,计算运算时间,并且校验最后的运算结果.文中代码偏多,原理建议阅读下面文章,文中介绍了OpenCL相关名词概念. http://opencl.codeplex.com/wikipage?title=OpenCL%20Tutorials%20-%201  (英文版) http://www.cnblogs.com/leiben/archive/2012/06/05/2536508.html (博友翻译的中文版) 一.创建工程 按照OpenCL

OpenCL学习笔记(二):并行编程概念理解

欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 并行编程的需求是显而易见的,其最大的难题是找到算法的并行功能,同时必须处理数据的共享和同步.但是,因为每一个算法都是不一样的,很难有通用的并行功能--粒度都有可能是不一样的.OpenCL提供了很多并行的抽象模型,因此算法开发人员可以在不同粒度上开发并行的算法,以及数据的共享和同步. 一般来说,并行编程有两种大类型--分散收集(s

CUDA和OpenCL异同点比较

CUDA和OpenCL异同点比较 一.概述 对CUDA和opencl有一定的编程经验,但是细心的人可以发现,OPENCL就是仿照CUDA来做的.既然两个GPU的编程框架如此相像,那么他们究竟有什么不同呢?下面就一一道来. 二.数据并行的模型 OpenCL采用的数据并行模型就是采用CUDA的数据并行模型.下面的表格反应了CUDA和opencl并行模型之间的映射关系. OpenCL CUDA Kernel函数 Kernel函数 主机程序 主机程序 N-DRange 网格 工作项 线程 工作组 线程块

OpenCL入门:(三:GPU内存结构和性能优化)

如果我们需要优化kernel程序,我们必须知道一些GPU的底层知识,本文简单介绍一下GPU内存相关和线程调度知识,并且用一个小示例演示如何简单根据内存结构优化. 一.GPU总线寻址和合并内存访问 假设X指向一个32位整数数组的指针,数组首地址是0x00001232,那么一个线程需要访问第0个成员时是也许是如下访问的: int tmp = X[0] 假设内存总线宽度是256位,内存访问时必须和总线宽度对齐,所以内存只能访问0x00000020,0x00000040这种地址(0x20=256位),如

GPU 的硬件基本概念,Cuda和Opencl名词关系对应

GPU 的硬件基本概念 Nvidia的版本: 实际上在 nVidia 的 GPU 里,最基本的处理单元是所谓的 SP(Streaming Processor),而一颗 nVidia 的 GPU 里,会有非常多的 SP 可以同时做计算;而数个 SP 会在附加一些其他单元,一起组成一个 SM(Streaming Multiprocessor).几个 SM 则会在组成所谓的 TPC(Texture Processing Clusters). 在 G80/G92 的架构下,总共会有 128 个 SP,以

[CSDN] OpenCL用于计算机领域的13个经典案例

http://www.csdn.net/article/2013-10-29/2817319-the-application-areas-opencl-can-be-used 摘要:当使用加速器和OpenCL时,哪种类型的算法更加快速?来自弗吉尼亚理工大学的Wu Feng教授和他的团队例举了一份算法列表,分享了OpenCL常被用于计算机领域的13个经典案例. 哪种算法可以最好的映射GPU及矢量处理器呢?换句话说,当使用加速器和OpenCL时,哪种类型的算法更加快速? 来自弗吉尼亚理工大学的Wu

Ubuntu14.04+Theano+OpenCL+libgpuarray实现GPU运算

上一篇博客介绍了如何使用Theano+logistic regression来实现kaggle上的数字手写识别,文末提到了CPU计算实在太慢,因此在做完这个实验之后,博主查阅了Theano的文档,了解到Theano官方仅支持CUDA进行GPU运算,不支持OpenCL,也就是说Theano官方仅支持N卡.原因是,CUDA和OpenCL是两个GPU计算平台,CUDA仅支持N卡,OpenCL支持所有的显卡,二者的具体区别还请自行查询.无奈博主的笔记本有一张intel的集成显卡和AMD的一张入门独显,而

通过 Autostereograms 案例学习 OpenGL 和 OpenCL 的互操作性

引言 在过去的十年里, GPU (图形处理单元)已经从特殊硬件(特供)转变成能够在数值计算领域开辟新篇章的高性能计算机设备. 很多算法能够使用拥有巨大的处理能力的GPU来快速运行和处理大数据量.即使在通常的情况下,不可能将图形硬件编程化, 图形硬件也能够加快算法与图像的处理. 举个样例:通常情况下能够用来计算图形差分,模糊图像, 合并图像,甚至是进行图像(或数组)平均值计算. 随后,可编程方式的出现给编程者带来了极大的便利. 可编程方式所提供的新的可能性,更广泛类别的算法能够移植到GPU来运行.

《OpenCL异构并行编程实战》补充笔记散点,第十二至十四章

? 第十二章,在其他语言中使用 OpenCL ● JOCL(Java Building for OpenCL),PyOpenCL ● 一个 PyOpenCL 的例子代码,需要 pyopencl 包 1 import pyopencl as cl 2 import numpy as np 3 import numpy.linalg as la 4 5 a = np.random.rand(50000).astype(np.float32) 6 b = np.random.rand(50000).a