Skip to main content
Log in

Geometric Algebra Computing for Heterogeneous Systems

  • Published:
Advances in Applied Clifford Algebras Aims and scope Submit manuscript

Abstract

Starting from the situation 15 years ago with a great gap between the low symbolic complexity on the one hand and the high numeric complexity of coding in Geometric Algebra on the other hand, this paper reviews some applications showing, that, in the meantime, this gap could be closed, especially for CPUs. Today, the use of Geometric Algebra in engineering applications relies heavily on the availability of software solutions for the new heterogeneous computing architectures. While most of the Geometric Algebra tools are restricted to CPU focused programming languages, in this paper, we introduce the new Gaalop (Geometric Algebra algorithms optimizer) Precompiler for heterogeneous systems (CPUs, GPUs, FPGAs, DSPs ...) based on the programming language C++ AMP (Accelerated Massive Parallelism) of the HSA (Heterogeneous System Architecture) Foundation. As a proof-of-concept we present a raytracing application together with some computing details and first performance results.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Albert, J.: The download page of the proof-of-concept raytracer based on the gaalop precompiler for C++ AMP. https://bitbucket.org/justinator_92/geometric-algebra-raytracer/wiki/Home (2015)

  2. Colapinto, P.: The versor home page. http://versor.mat.ucsb.edu/ (2015)

  3. Dorst L., Fontijne D., Mann S.: Geometric Algebra for Computer Science, An Object-Oriented Approach to Geometry. Morgan Kaufmann, San Francisco (2007)

    Google Scholar 

  4. Eid, A.H.A.: Optimized Automatic Code Generation for Geometric Algebra Based Algorithms with Ray Tracing Application. PhD thesis, Suez Canal University, Port Said (2010)

  5. Fontijne, D., Bouma, T., Dorst, L.: Gaigen 2: A geometric algebra implementation generator. http://staff.science.uva.nl/~fontijne/gaigen2.html (2007)

  6. Franchini, S., Gentile, A., Grimaudo, M., Hung, C.A., Impastato, S., Sorbello, F., Vassallo, G., Vitabile, S.: A sliced coprocessor for native Clifford algebra operations. In: Euromico Conference on Digital System Design, Architectures, Methods and Tools (DSD) (2007)

  7. Franchini, S., Gentile, A., Sorbello, F., Vassallo, G., Vitabile, S.: ConformalALU: a conformal geometric algebra coprocessor for medical image processing. In IEEE Transactions on Computers, 2015

  8. Gentile A., Segreto S., Sorbello F., Vassallo G., Vitabile S., Vullo V.: Cliffosor, an innovative FPGA-based architecture for geometric algebra. ERSA 2005, 211–217 (2005)

    Google Scholar 

  9. Gregory, K., Miller, A.: C++AMP. Microsoft Press (2012)

  10. HSA Foundation. The HSA foundation home page. http://www.hsafoundation.com/ (2015)

  11. Hestenes, D.: Old wine in new bottles: A new algebraic framework for computational geometry. In: Eduardo Bayro-Corrochano and Garret Sobczyk, editors, Geometric Algebra with Applications in Science and Engineering. Birkhäuser (2001)

  12. Hildenbrand, D: Geometric Computing in Computer Graphics and Robotics using Conformal Geometric Algebra. PhD thesis, TU Darmstadt. Darmstadt University of Technology (2006)

  13. Hildenbrand D.: Foundations of Geometric Algebra Computing. Springer, Berlin (2013)

    Book  MATH  Google Scholar 

  14. Hildenbrand, D., Charrier, P., Steinmetz, C., Pitt, J.: Gaalop home page. http://www.gaalop.de (2015)

  15. Hildenbrand, D., Fontijne, D., Wang, Y., Alexa, M., Dorst, L.: Competitive runtime performance for inverse kinematics algorithms using conformal geometric algebra. In: Eurographics Conference Vienna (2006)

  16. Li H., Hestenes D., Rockwood A.: Generalized homogeneous coordinates for computational geometry. In: Sommer, G. (ed.) Geometric Computing with Clifford Algebra, pp. 27–59. Springer, Berlin (2001)

    Chapter  Google Scholar 

  17. Mishra, B., Wilson, P.R.: Color edge detection hardware based on geometric algebra. In: European Conference on Visual Media Production (CVMP) (2006)

  18. Perwass, C.: The CLU home page. http://www.clucalc.info (2010)

  19. Perwass, C., Gebken, C., Sommer, G.: Implementation of a Clifford algebra co-processor design on a field programmable gate array. In: Ablamowicz, R. (ed.) Clifford Algebras: Application to Mathematics, Physics, and Engineering, Progress in Mathematical Physics. 6th International Conference on Clifford Algebras and Applications, Cookeville, TN., Birkhäuser, pp. 561–575 (2003)

  20. Seybold, F: Gaalet—a C++ expression template library for implementing geometric algebra (2010)

  21. Sommer, G. (ed.): Geometric Computing with Clifford Algebra. Springer, Berlin (2001)

    Google Scholar 

  22. Stock, F., Hildenbrand, D., Koch, A.: FPGA-accelerated color edge detection using a geometric-algebra-to-verilog compiler. In: Sym- posium on System on Chip (SoC), Tampere, Finland (2013)

  23. Woersdoerfer, F., Stock, F., Bayro-Corrochano, E., Hildenbrand, D.: Optimization and performance of a robotics grasping algorithm described in geometric algebra. In: Iberoamerican Congress on Pattern Recognition 2009, Guadalajara, Mexico (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to D. Hildenbrand.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hildenbrand, D., Albert, J., Charrier, P. et al. Geometric Algebra Computing for Heterogeneous Systems. Adv. Appl. Clifford Algebras 27, 599–620 (2017). https://doi.org/10.1007/s00006-016-0694-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00006-016-0694-6

Mathematics Subject Classification

Keywords

Navigation