Algorithm for automatic loop parallelization for graphics processing units

A.Yu. Doroshenko, I.Z. Achour


This work contains description of high-performance batched affine matrices multiplication approach in scope of An-droid NDK and JNI. Approach is based on combination of separate technics and practices. Android Native Development Kit and Java Native Interfaces were used to develop and run high-performance code via Java Virtual Machine. This approach overhead was minimized with input data batching for computation. Compile-time optimization approaches were used to speed-up C/C++/Java based solutions. As a development, analysis and research result precise performance benchmarks were made. Output solution was compared with analogues, which are using limited sets of applied techniques, features and approaches. Charts were built on top of that results. Appropriate decisions were made.

Problems in programming 2018; 1: 36-45


Android NDK; Android SDK; JDK; JVM; JNI; OpenGL ES; Java; affine transformations


Marcel B. Geometry I. Berlin: Springer, 1987.

Nomizu K. Affine Differential Geometry (New ed.), 1994.

Shreiner D. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V (9th Edition) / Dave Shreiner., 2016.

Android NDK – Retrieved from

Java Native Interface Specification – Retrieved from

Article - World, View and Projection Transformation Matrices – Retrieved from

The Java® Language Specification Java SE 9 Edition / [J. Gosling, B. Joy, G. Steele та ін.]



  • There are currently no refbacks.