Choosing an appropriate programming paradigm for high-performance computing on low-power devices can be useful to speed up calculations. Many Android devices have an integrated GPU and - although not officially supported - the OpenCL framework can be used on Android devices for addressing these GPUs. OpenCL supports thread and data parallelism. Applications that use the GPU must account for the fact that they can be suspended by the user or the Android operating system at any moment. We have created a wrapper library that allows to use OpenCL on Android devices. Already written OpenCL programs can be executed with almost no modification. We have used this library to compare the performance of the DBSCAN and Kmeans algorithms on an integrated GPU of an Arm-v7 tablet with other single and multithreaded implementations on the same device. We have investigated which programming paradigm and language allows the best tradeoff between execution speed and energy consumption. Using the GPU for HPC on Android devices can help to carry out computationally intensive machine learning or data mining tasks in remote areas, under harsh environmental conditions and in areas where energy supply is an issue.
翻译:为低功率设备高性能计算选择适当的低功率计算模式可有助于加速计算。许多机器人装置拥有一个综合的GPU, 并且(尽管没有得到官方支持) OpenCL 框架可以用于Android 装置处理这些GPU。 OpenCL 支持线条和数据平行。 使用 GPU 的应用程序必须说明用户或Android操作系统可以随时暂停使用它们。 我们已经建立了一个包装库, 允许在Android 装置上使用 OpenCL 。 已经写入的 OpenCL 程序可以几乎不作任何修改地执行。 我们已经利用这个图书馆将DBSCAN 和 KUins 算法在Am- v7 平板的集成式GPU的性能与同一装置上的其他单项和多读化执行法的性能进行对比。 我们已经调查了哪些编程模式和语言可以让执行速度和能源消耗之间实现最佳的交换。 我们已经为高能装置使用GPUP可以帮助在偏远地区、 恶劣的环境条件下和能源供应问题地区进行计算密集的机器学习或数据挖掘任务。