Design and Implementation of an Embedded Coprocessor with Native Support for 5D, Quadruple-Based Clifford Algebra

Geometric or Clifford algebra (CA) is a powerful mathematical tool that offers a natural and intuitive way to model geometric facts in a number of research fields, such as robotics, machine vision, and computer graphics. Operating in higher dimensional spaces, its practical use is hindered, however, by a significant computational cost, only partially addressed by dedicated software libraries and hardware/software codesigns. For low-dimensional algebras, several dedicated hardware accelerators and coprocessing architectures have been already proposed in the literature. This paper introduces the architecture of CliffordALU5, an embedded coprocessing core conceived for native execution of up to 5D CA operations. CliffordALU5 exploits a novel, hardware-oriented representation of the algebra elements that allows for faster execution of Clifford operations. In this paper, a prototype implementation of a complete system-on-chip (SOC) based on CliffordALU5 is presented. This prototype integrates an embedded processing soft-core based on the PowerPC 405 and a CliffordALU5 coprocessor on a Xilinx XUPV2P Field Programmable Gate Array (FPGA) board. Test results show a 5× average speedup for 4D Clifford products and a 4× average speedup for 5D Clifford products against the same operations in Gaigen 2, a CA software library generator running on the general-purpose PowerPC processor. This paper also presents an execution analysis of three different applications in three diverse domains, namely, inverse kinematics of a robot, optical motion capture, and raytracing, showing an average speedup between 3× and 4× with respect to the baseline Gaigen 2 implementation. Finally, a multicore approach to higher dimensional CA based on CliffordALU5 is discussed.

[1]  Stephen Mann,et al.  Geometric Algebra: A computational framework for geometrical applications Part 1 , 2002, IEEE Computer Graphics and Applications.

[2]  Giorgio Vassallo,et al.  CliffoSor: a parallel embedded architecture for geometric algebra and computer graphics , 2005, Seventh International Workshop on Computer Architecture for Machine Perception (CAMP'05).

[3]  Leo Dorst,et al.  The making of GABLE: a geometric algebra learning environment in Matlab , 2001 .

[4]  Dietmar Hildenbrand Geometric computing in computer graphics using conformal geometric algebra , 2005, Comput. Graph..

[5]  Daniel Fontijne,et al.  Gaigen 2:: a geometric algebra implementation generator , 2006, GPCE '06.

[6]  Giorgio Vassallo,et al.  A brief introduction to Clifford algebra , 2010 .

[7]  Leo Dorst,et al.  Geometric Algebra , 2019, Computer Vision, A Reference Guide.

[8]  Stephen Mann,et al.  Geometric algebra for computer science - an object-oriented approach to geometry , 2007, The Morgan Kaufmann series in computer graphics.

[9]  Pertti Lounesto Clifford Algebras and Spinors: Complex numbers , 2001 .

[10]  David Hestenes New Foundations for Classical Mechanics , 1986 .

[11]  Stephen Mann,et al.  Geometric Algebra: A Computational Framework for Geometrical Applications (Part 2) , 2002, IEEE Computer Graphics and Applications.

[12]  D. Dijkman Efficient Implementation of Geometric Algebra , 2007 .

[13]  Leo Dorst,et al.  Modeling 3D Euclidean Geometry , 2003, IEEE Computer Graphics and Applications.

[14]  Giorgio Vassallo,et al.  A Sliced Coprocessor for Native Clifford Algebra Operations , 2007 .

[15]  Gerald Sommer,et al.  Implementation of a Clifford Algebra Co-Processor Design on a Field Programmable Gate Array , 2004 .

[16]  Giorgio Vassallo,et al.  Fixed-Size Quadruples for a New, Hardware-Oriented Representation of the 4D Clifford Algebra , 2011 .

[17]  Andreas Koch,et al.  Gaalop-High Performance Computing based on Conformal Geometric Algebra , 2008 .

[18]  Giorgio Vassallo,et al.  An embedded, FPGA-based computer graphics coprocessor with native geometric algebra support , 2009, Integr..

[19]  Giorgio Vassallo,et al.  An FPGA Implementation of a Quadruple-Based Multiplier for 4D Clifford Algebra , 2008, 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools.

[20]  Peter R. Wilson,et al.  Color edge detection hardware based on geometric algebra , 2006 .

[21]  Clifford,et al.  Applications of Grassmann's Extensive Algebra , 1878 .

[22]  P. Gargini,et al.  The International Technology Roadmap for Semiconductors (ITRS): "Past, present and future" , 2000, GaAs IC Symposium. IEEE Gallium Arsenide Integrated Circuits Symposium. 22nd Annual Technical Digest 2000. (Cat. No.00CH37084).

[23]  Joan Lasenby,et al.  New Geometric Methods for Computer Vision: An Application to Structure and Motion Estimation , 1998, International Journal of Computer Vision.

[24]  René Schott,et al.  Computational Complexity Reductions Using Clifford Algebras , 2010, Geometric Algebra Computing.