在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有相关的论文介绍;详细论文的名字不记得了。。

opencl 和Renderscript总结的更多相关文章

  1. OPenCL

    OpenCLhttp://baike.baidu.com/link?url=7uHWCVUYB3Sau_xh3OOKP-A08_IvmT1SJixdAXKezCuCfkzeSQDiSmesGyVGk8 ...

  2. 安卓手机GPU OpenCL总结(转)

    前段时间,把市面上手机GPU OpenCL支持情况做了一个总结.总结如下: 目前,手机 GPU 市面有四个公司产品:Qualcomm, Imagination Technologies,ARM, Vi ...

  3. Android高效计算——RenderScript(二)

    3 RenderScript运行时层与反射层 3.1 RenderScript运行时层 RenderScript运行时层是指.rs代码运行时所在的层级.当对安卓项目进行编译的时候,.rs或者.rsh中 ...

  4. Android高效计算——RenderScript(一)

    高效计算——RenderScript RenderScript是安卓平台上很受谷歌推荐的一个高效计算平台,它能够自动把计算任务分配到各个可用的计算核心上,包括CPU,GPU以及DSP等,提供十分高效的 ...

  5. 基于SoCkit的opencl实验1-基础例程

    基于SoCkit的opencl实验1-基础例程 准备软硬件 Arrow SoCkit Board 4GB or larger microSD Card Quartus II v14.1 SoCEDS ...

  6. Opencl 并行求和

    上周尝试用opencl求极大值,在网上查到大多是求和,所谓的reduction算法.不过思路是一样的. CPP: ; unsigned ; ; ; int nGroup = nGroupSize / ...

  7. opencl初体验

    总结一下,opencl的步骤差不多是这些 先要获取平台的id clGetPlatformIDs(nPlatforms, platform_id, &num_of_platforms) 然后获取 ...

  8. Altera OpenCL用于计算机领域的13个经典案例(转)

    英文出自:Streamcomputing 转自:http://www.csdn.net/article/2013-10-29/2817319-the-application-areas-opencl- ...

  9. 面向OPENCL的ALTERA SDK

    面向OPENCL的ALTERA SDK 使用面向开放计算语言 (OpenCL™) 的 Altera® SDK,用户可以抽象出传统的硬件 FPGA 开发流程,采用更快.更高层面的软件开发流程.在基于 x ...

随机推荐

  1. ML神器:sklearn的快速使用

    传统的机器学习任务从开始到建模的一般流程是:获取数据 -> 数据预处理 -> 训练建模 -> 模型评估 -> 预测,分类.本文我们将依据传统机器学习的流程,看看在每一步流程中都 ...

  2. JSON相关知识整理

    JSON   全称:JavaScript Object Notation ,一种轻量级的数据交换格式 示例:{"name":"eric","age&q ...

  3. jquery实现抽奖小游戏

    在很多网站或游戏活动中我们都会看到有关抽奖的活动或界面: 下面我将给大家介绍下如何通过javascript来实现这样的一个抽奖功能,主要从下面三个步骤入手(文中着重介绍第三部分有关功能的实现): 1. ...

  4. HTML出现错位的问题

    引起网页HTML显示错位的几个常见问题: 1.在HTML代码中缺失元素的开始或结束标签 2.CSS设置中对边界.填充或边框的设置超出了父级容器的范围 3.CSS和HTML的编码不统一 4.浏览器的解析 ...

  5. Android Weekly Notes Issue #283

    November 12th, 2017 Android Weekly Issue #283 本期内容包括Gradle相关的几篇,如封装繁杂依赖的技巧,通过kotlin dsl让gradle支持kotl ...

  6. 设置Linux环境的欢迎登陆信息

    1.编辑/etc/profile文件添加如下内容: for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ &quo ...

  7. FPGA跨时钟域处理方法

    文章主要是基于学习后的总结. 1. 时钟域 假如设计中所有的触发器都使用一个全局网络,比如FPGA的主时钟输入,那么我们说这个设计只有一个时钟域.假如设计有两个输入时钟,如图1所示,一个时钟给接口1使 ...

  8. iOS项目的命名规范

    一.关于本文档1.本文档的书写目的    <iOS项目的命名规范>的书写目的,在于让后续参加到该项目的iOS开发人员通过阅读该文档,了解在当前iOS项目的代码中的命名要求并严格按照本文档执 ...

  9. Mysql语句查询优化

    其实对Mysql查询语句进行优化是一件非常有必要的事情. 如何查看当前sql语句的执行效率呢? 1.建一张学生表 CREATE TABLE `student` ( `stu_id` ) NOT NUL ...

  10. String的Intern方法

    jdk6 和 jdk7 下 intern 的区别 相信很多 JAVA 程序员都做做类似 String s = new String("abc")这个语句创建了几个对象的题目. 这种 ...