Geometric Algebra Computing Technology for Accelerated Processing Units

Patrick Charrier, Dietmar Hildenbrand
University of Technology Darmstadt
EmbeddedWorld conference, 2013


   title={Geometric Algebra Computing Technology for Accelerated Processing Units},

   author={Charrier, Patrick and Hildenbrand, Dietmar},



Download Download (PDF)   View View   Source Source   



Development on embedded devices, even on today’s hardware, limits us to a minimum of third party-library dependencies due to hardware memory and power restrictions. In setups requiring intense geometric operations on limited hardware, such as in robotics, this problem can often lead to a tedious reimplementation of matrix, vector, and quaternion operations. Furthermore, certain unnecessary floating point operations are hard to avoid, because C++-features like expression template libraries such as eigen [2] can possibly not be used, because of strict C enforcement. Memory accesses are often the most limiting factor in today’s applications due to high memory latency. Yet traditional programming techniques unfortunately steer into the wrong direction by not easing data-oriented programming, which is often cumbersome to implement in C or C++. Many of the restrictions above are in a similar form the case on modern heterogeneous architectures such as AMD’s embedded Accelerated Processing Units or in GPGPU written in OpenCL/CUDA. Our technology based on Geometric Algebra and a Domain Specific language called CLUCalc will especially excel under these conditions. The focus of this work is Gaalop Precompiler, a new technology combining the advanced processing power of Accelerated Processing Units (APU) with the geometric intuitiveness of a new mathematical concept named Geometric Algebra [6]. The combination of both not only promises a more compact and maintainable code for graphics, vision, robotics and other scientific and engineering applications, but also automatically exploits parallelism on GPU or combined computing unit (APU) through OpenCL [8] or CUDA [9]. C/C++ CPU targeting is also supported. It is presented in the following, after a short introduction on Geometric Algebra.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2020 hgpu.org

All rights belong to the respective authors

Contact us: