opencl 和Renderscript总结

在android上要开发opencl。手机端要有libopencl.so文件(也就是opencl驱动)。可是如今android手机端非常少有这个文件。原因是尽管AMD、Intel、NVIDIA、苹果等支持opencl,可是google好像不太支持opencl。在移动端,googleRenderScript(渲染脚本。也是基于异构计算的思想实现的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有相关的论文介绍;详细论文的名字不记得了。。



原文地址:https://www.cnblogs.com/zsychanpin/p/7040566.html