Algorithm for automatic loop parallelization for graphics processing units

A.Yu. Doroshenko, I.Z. Achour

Abstract


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


Keywords


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

References


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 https://developer.android.com/ndk/index.html.

Java Native Interface Specification – Retrieved from https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html.

Article - World, View and Projection Transformation Matrices – Retrieved from http://www.codinglabs.net/article_world_view_projection_matrix.aspx.

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




DOI: https://doi.org/10.15407/pp2018.01.036

Refbacks

  • There are currently no refbacks.