opencl 和Renderscript总结

在android上要开发opencl,手机端要有libopencl.so文件(也就是opencl驱动);但是现在android手机端很少有这个文件;原因是虽然AMD、Intel、NVIDIA、苹果等支持opencl,但是google好像不太支持opencl;在移动端,google有RenderScript(渲染脚本,也是基于异构计算的思想实现的API,优点是跨平台性好,适合各种android操作系统,但是性能比opencl稍差点);google要推广自己的API的可能性大一些;因此大部分android手机支持RenderScript,却很少有支持opencl的。(网上有一个opencl
info 小程序可以判断手机是否支持opencl)。

我从网上找了一个libopencl.so库,是Qualcomm(高通公司)生产的Adreno3 GPU支持的驱动(但是这个驱动没有集成到手机系统中),通过一个向量相加的小例子实践,但是在真机(我的手机是Imagination Technologies公司的GPU,手机没有opencl驱动,我把驱动拷到手机上)上和android模拟机上都没有成功,我想问题应该出在驱动上,乱用驱动应该是不行的。

这里有收集到的一些资料:

1.关于opencl:

高通平台下opencl小例子:http://blog.csdn.net/wcj0626/article/details/26272019;

安卓手机GPU opencl总结 :  http://blog.csdn.net/wcj0626/article/details/38063791;

mali的GPU对opencl的支持:http://arrayfire.com/getting-started-with-opencl-on-android/

高通的GPU 对opencl 留有后门:https://maxlv.net/how-to-enable-opencl-on-nexus-5/

书籍:opencl编程指南;

Heterogeneous  Computing with OpenCL  ;

opencl in action;

以及百度百科自己的手机型号;百科GPU型号。

2.关于Renderscript:

资料较少;最主要的参考资料是 官方API:https://stuff.mit.edu/afs/sipb/project/android/docs/reference/android/renderscript/package-summary.html。

API部分翻译:http://xiaxveliang.blog.163.com/blog/static/2970803420139844152392/

google学术里搜 renderscript有相关的论文介绍;具体论文的名字不记得了。。

时间: 2024-10-11 11:58:15

opencl 和Renderscript总结的相关文章

GPU与GPGPU泛淡

GPU与GPGPU泛淡 GPU(Graphics Processing Unit),也即显卡,是一种专门在个人电脑.工作站.游戏机和一些移动设备(如平板电脑.智能手机等)上作图像运算工作的微处理器.它已经是个人PC和移动设备上不可或缺的芯片,有界面有显示的地方,一般就离不开它.高清电视.智能手机.个人电脑. GPU的产生是为了解决图形渲染效率的问题,但随着技术进步,GPU越来越强大,尤其是shader出现之后(这个允许我们在GPU上编程),GPU能做的事越来越多,不再局限于图形领域,也就有人动手

GPU通用计算API的变迁和趋势

原文链接 在高性能计算.机器学习等现代应用领域中,GPU(Graphics Processing Unit)是占统治地位的计算引擎.GPU从早期的固化逻辑实现.到可编程.到今天的通用计算架构(GPGPU),其应用接口(API)随着功能和通用性的提升而变得越来越灵活和高效. 1. 图形渲染:DirectX 和 OpenGL 早期的GPU有浑名显卡也不冤枉.从软件角度来说,其逻辑架构基本上就是图形的三角形坐标变换.顶点照明.像素着色等一系列功能.因为逻辑固化.功能单纯,应用程序通过驱动接口可以直接执

安卓手机GPU OpenCL总结(转)

前段时间,把市面上手机GPU OpenCL支持情况做了一个总结.总结如下: 目前,手机 GPU 市面有四个公司产品:Qualcomm, Imagination Technologies,ARM, Vivante,分别对应的产品如下: (所有表格均是按照产品上市时间先后排列) 表1 Qualcomm GPU 产品型号 OpenCL支持 Adreno 200系列 不支持 Adreno 300 系列 √(OpenCL 1.1) Adreno 400 系列 √(OpenCL 1.1) 对于高通平台的手机

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

移动端UI设计越来越流行的高斯模糊(Gaussian blur)和毛玻璃效果(磨砂效果),如何使用Android RenderScript简单实现?

高斯模糊(Gaussian blur)和毛玻璃效果(亦称磨砂效果),近两年在移动端的UI设计上越来越流行,特别是iOS手机上出现的较多,iOS系统也提供了相应的API帮助开发人员分分钟实现这两个效果.而Android系统则经历了一个漫长的探索过程,对图片的处理,从Java算法到NDK方式实现等,各种摸索层出不穷. 值得欣慰的是,Google终于在API 11中引入了 RenderScript ,一个强大的图片处理框架,帮助Android开发人员专注于图片处理算法而不是API的调度工作.使用Ren

Android高效计算——RenderScript(二)

3 RenderScript运行时层与反射层 3.1 RenderScript运行时层 RenderScript运行时层是指.rs代码运行时所在的层级.当对安卓项目进行编译的时候,.rs或者.rsh中编写的代码都会被llvm编译器编译成字节码.当该安卓应用在设备上运行的时候,这些字节码将会被设备上另外一个llvm编译(just-in-time)成机器码.这些机器码是针对该设备进行了优化的,且缓存在设备上,等到下次被应用的时候就不需要重新编译了,以加快速度.虽然RenderScript运行时层很像

面向OPENCL的ALTERA SDK

面向OPENCL的ALTERA SDK 使用面向开放计算语言 (OpenCL?) 的?Altera??SDK,用户可以抽象出传统的硬件 FPGA 开发流程,采用更快.更高层面的软件开发流程.在基于 x86 的主机上迅速完成 OpenCL 加速器代码仿真,获得详细的优化报告,包括专门的算法流水线相关信息,缩短编译时间,直至得到满意的内核代码结果.利用预先编写的最优?OpenCL?或者?RTL?功能,从主程序调用它们,或者直接从您的?OpenCL?内核调用它们. 什么是 OpenCL? OpenCL

编译GDAL支持OpenCL使用GPU加速

前言 GDAL库中提供的gdalwarp支持各种高性能的图像重采样算法,图像重采样算法广泛应用于图像校正,重投影,裁切,镶嵌等算法中,而且对于这些算法来说,计算坐标变换的运算量是相当少的,绝大部分运算量都在图像的重采样算法中,尤其是三次卷积采样以及更高级的重采样算法来说,运算量会成倍的增加,所以提升这些算法的处理效率优先是提高重采样的效率.由于GPU的多核心使得目前对于GPU的并行处理非常热,同时也能大幅度的提升处理速度.基于上述原因,GDALWARP也提供了基于OPENCL的GPU加速,之前在

配置VS2013 OpenCL环境

配置VS2013 OpenCL环境 1. 安装CUDA安装包 由于目前的CUDA安装包自带显卡驱动.CUAD工具.OpenCL的SDK:其中OpenCL的相关内容的默认目录有: CL文件夹的目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\include OpenCL.lib文件目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\lib OpenCL.dll文件目