High performance computing for low power devices can be useful to speed up calculations on processors that use a lower clock rate than computers for which energy efficiency is not an issue. In this trial, different high performance techniques for Android devices have been compared, with a special focus on the use of the GPU. Although not officially supported, the OpenCL framework can be used on Android tablets. For the comparison of the different parallel programming paradigms, a benchmark was chosen that could be implemented easily with all frameworks. The Mandelbrot algorithm is computationally intensive and has very few input and output operations. The algorithm has been implemented in Java, C, C with assembler, C with SIMD assembler, C with OpenCL and scalar instructions and C with OpenCL and vector instructions. The implementations have been tested for all architectures currently supported by Android. High speedups can be achieved using SIMD and OpenCL, although the implementation is not straightforward for either one. Apps that use the GPU must account for the fact that they can be suspended by the user at any moment. In using the OpenCL framework on the GPU of Android devices, a computational power comparable to those of modern high speed CPUs can be made available to the software developer.
翻译:低电能装置的高性能计算可以有助于加速计算使用比节时速率低的计算机更低的处理器的计算。 在本次试验中,对安卓装置的不同高性能技术进行了比较,特别侧重于GPU的使用。虽然没有官方支持,但OpenCL框架可以用于安卓平板电脑上。为了比较不同的平行编程范式,选择了一个可以在所有框架中轻松实施的基准。Mandelbrot算法是计算密集的,而且几乎没有投入和输出操作。算法是在爪哇、C和C之间与装配器一起实施的,C与SIMD装配器一起实施的,C与OpenCLL和卡路指示以及C与矢量指示一起实施的。已经对安卓支持的所有架构进行了测试。可以使用SIMD和Opt CL来实现高速超速,尽管对这两种模式的实施都不简单。 使用 GPU 的应用程序必须说明用户可以随时暂停使用它们。在GPUT上使用 OpCLL框架,C框架时,C会使用S安装高的计算能力可以与CPO 。