Skip to main content
Log in

Geometric Algebra Enhanced Precompiler for C++, OpenCL and Mathematica’s OpenCLLink

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

Abstract

The focus of this work is a simplified integration of algorithms expressed in Geometric Algebra (GA) into modern high level computer languages, namely C++, OpenCL and CUDA. A high runtime performance in terms of GA is achieved using symbolic simplification and code generation by a precompiler that is directly integrated into CMake-based build toolchains. Finally, we demonstrate how to interface our technology with Mathematica’s OpenCLLink.

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. Bullet continuous collision detection and physics library.

  2. The homepage of geomerics ltd. Available at http://www.geomerics.com.

  3. Patrick Charrier, Geometric algebra enhanced precompiler for c++ and opencl. Masters thesis, TU Darmstadt, 2012.

  4. Chris Doran and Anthony Lasenby, Geometric Algebra for Physicists. Cambridge University Press, 2003.

  5. Ahmad Hosney Awad Eid Optimized Automatic Code Generation for Geometric Algebra Based Algorithms with Ray Tracing Application. PhD thesis, Port-Said, 2010.

  6. Daniel Fontijne, Tim Bouma, and Leo Dorst Gaigen 2: A geometric algebra implementation generator. Available at http://staff.science.uva.nl/fontijne/gaigen2.html, 2007.

  7. Free Software Foundation. Gnu make. http://www.gnu.org/software/make.

  8. David Hestenes, 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. Birkhauser, 2001.

  9. Dietmar Hildenbrand, Foundations of Geometric Algebra Computing. Springer, 2013.

  10. Dietmar Hildenbrand, Patrick Charrier, Christian Steinmetz and Joachim Pitt, The Gaalop home page. Available at http://www.gaalop.de, 2012.

  11. Dietmar Hildenbrand, Daniel Fontijne, Christian Perwass and Leo Dorst, Tutorial geometric algebra and its application to computer graphics. In Eurographics conference Grenoble, 2004.

  12. Dietmar Hildenbrand, Daniel Fontijne, Yusheng Wang, Marc Alexa and Leo Dorst, Competitive runtime performance for inverse kinematics algorithms using conformal geometric algebra. In Eurographics conference Vienna, 2006.

  13. Dietmar Hildenbrand, Joachim Pitt and Andreas Koch, Gaalop - high performance parallel computing based on conformal geometric algebra. In Eduardo Bayro-Corrochano and Gerik Scheuermann, editors, Geometric Algebra Computing in Engineering and Computer Science. Springer, May 2010.

  14. Khronos, OpenGL Specifications. 2010. http://www.opengl.org/documentation/specs/.

  15. Khronos OpenCL Working Group, The OpenCL Specification, version 1.0.29, 8 December 2008.

  16. NVIDIA. The CUDA home page. Available at http://www.nvidia.com/object/cudahome.html, 2010.

  17. Christian Perwass, Geometric Algebra with Applications in Engineering. Springer, 2009.

  18. Christian Perwass, The CLU home page. Available at http://www.clucalc.info, 2010.

  19. Christian Perwass and Dietmar Hildenbrand, Aspects of geometric algebra in euclidean, projective and conformal space. Technical report, University of Kiel, 2004.

  20. Florian Seybold, Gaalet - a c++ expression template library for implementing geometric algebra. 2010.

  21. Florian Seybold, Patrick Charrier, Dietmar Hildenbrand, M. Bernreuther and D. Jenz, Runtime performance of a molecular dynamics model using conformal geometric algebra. Slides available at http://www.science.uva.nl/leo/agacse2010/talks_world/Seybold.pdf, 2010.

  22. Christian Steinmetz, Optimizing a geometric algebra compiler for parallel architectures using a table-based approach. In Bachelor thesis TU Darmstadt, 2011.

  23. Christian Steinmetz, Examination of new geometric algebras including a visualization and integration in a geometric algebra compiler. In Master thesis TU Darmstadt, 2013.

  24. Christian Steinmetz, The gaalop guide. http://www.gaalop.de/documentation/gaalopguide/, 2013.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrick Charrier.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Charrier, P., Klimek, M., Steinmetz, C. et al. Geometric Algebra Enhanced Precompiler for C++, OpenCL and Mathematica’s OpenCLLink. Adv. Appl. Clifford Algebras 24, 613–630 (2014). https://doi.org/10.1007/s00006-014-0443-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00006-014-0443-7

Keywords

Navigation