Subscribe
Issue No.12 - Dec. (2013 vol.62)
pp: 2366-2381
Silvia Franchini , University of Palermo, Palermo
Antonio Gentile , University of Palermo, Palermo
Filippo Sorbello , University of Palermo, Palermo
Giorgio Vassallo , University of Palermo, Palermo
Salvatore Vitabile , University of Palermo, Palermo
ABSTRACT
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{\times})$ average speedup for 4D Clifford products and a $(4{\times})$ 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{\times})$ and $(4{\times})$ with respect to the baseline Gaigen 2 implementation. Finally, a multicore approach to higher dimensional CA based on CliffordALU5 is discussed.
INDEX TERMS
Embedded systems, Coprocessors, Computer architecture, Field programmable gate arrays, Computational modeling, Algebra,FPGA-based prototyping, Clifford algebra, computational geometry, embedded coprocessors, application-specific processors
CITATION
Silvia Franchini, Antonio Gentile, Filippo Sorbello, Giorgio Vassallo, Salvatore Vitabile, "Design and Implementation of an Embedded Coprocessor with Native Support for 5D, Quadruple-Based Clifford Algebra", IEEE Transactions on Computers, vol.62, no. 12, pp. 2366-2381, Dec. 2013, doi:10.1109/TC.2012.225
REFERENCES
 [1] W.K. Clifford, "On the Classification of Geometric Algebras," Mathematical Papers, R. Tucker, ed., pp. 397-401, Macmillian, 1882. [2] L. Dorst, D. Fontijne, and S. Mann, Geometric Algebra for Computer Science: An Object Oriented Approach to Geometry. Morgan Kaufmann, 2007. [3] L. Dorst and S. Mann, "Geometric Algebra: A Computational Framework for Geometrical Applications (Part 1: Algebra)," IEEE Computer Graphics and Applications, vol. 22, no. 3, pp. 24-31, May/June 2002. [4] L. Dorst and S. Mann, "Geometric Algebra: A Computational Framework for Geometrical Applications (Part 2: Applications)," IEEE Computer Graphics and Applications, vol. 22, no. 4, pp. 58-67, July/Aug. 2002. [5] D. Fontijne and L. Dorst, "Modeling 3D Euclidean Geometry," IEEE Computer Graphics and Applications, vol. 23, no. 2, pp. 68-78, Mar./Apr. 2003. [6] B. Mishra and P. Wilson, "Color Edge Detection Hardware Based on Geometric Algebra," Proc. Third European Conf. Visual Media Production (CVMP '06) IET, pp. 115-121, 2006. [7] C. Perwass, C. Gebken, and G. Sommer, "Implementation of a Clifford Algebra Co-Processor Design on a Field-Programmable Gate Array," Clifford Algebras—Applications to Mathematics, Physics, and Engineering, Series: Progress in Mathematical Physics, vol. 34, R. Ablamowicz, ed., Birkhäuser, 2004. [8] S. Franchini, A. Gentile, F. Sorbello, G. Vassallo, and S. Vitabile, "An Embedded, FPGA-Based Computer Graphics Coprocessor with Native Geometric Algebra Support," Integration, vol. 42, no. 3, pp. 346-355, 2009. [9] S. Franchini, A. Gentile, M. Grimaudo, C.A. Hung, S. Impastato, F. Sorbello, G. Vassallo, and S. Vitabile, "A Sliced Coprocessor for Native Clifford Algebra Operations," Proc. IEEE 10th Euromicro Conf. Digital System Design—Architectures, Methods and Tools (DSD '07), pp. 436-439, Aug. 2007. [10] S. Franchini, A. Gentile, F. Sorbello, G. Vassallo, and S. Vitabile, "Fixed-Size Quadruples for a New, Hardware-Oriented Representation of the 4D Clifford Algebra," Advances in Applied Clifford Algebras, vol. 21, no. 2, pp. 315-340, Springer, 2011. [11] S. Franchini, A. Gentile, F. Sorbello, G. Vassallo, and S. Vitabile, "An FPGA Implementation of a Quadruple-Based Multiplier for 4D Clifford Algebra," Proc. 11th IEEE Euromicro Conf. Digital System Design—Architectures, Methods and Tools (DSD '08), pp. 743-751, Sept. 2008. [12] L. Wilson, "The International Technology Roadmap for Semiconductors," http:/public.itrs.net, 2011. [13] W.K. Clifford, "Applications of Grassmann's Extensive Algebra," Mathematical Papers, R. Tucker, ed., pp. 266-276, Macmillian, 1882. [14] D. Hestenes, New Foundations for Classical Mechanics. Kluwer Academic, 1986. [15] D. Hestenes and G. Sobczyk, Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics. Kluwer Academic, 1987. [16] D. Hildenbrand, D. Fontijne, C. Perwass, and L. Dorst, "Geometric Algebra and Its Application to Computer Graphics, Tutorial 3," Proc. 25th Ann. Conf. European Assoc. for Computer Graphics, Interacting with Virtual Worlds, 2004. [17] J. Lasenby, A.N. Lasenby, C.J.L. Doran, and W.J. Fitzgerald, "New Geometric Methods for Computer Vision: An Application to Structure and Motion Estimation," Int'l J. Computer Vision, vol. 26, no. 3, pp. 191-213, 1998. [18] S. Franchini, G. Vassallo, and F. Sorbello, "A Brief Introduction to Clifford Algebra," Technical Report N. 2/2010, Dip. di Ingegneria Informatica, Universitá degli Studi di Palermo, http://www. dinfo.unipa.it/~franchiniCliffTechRep.pdf , 2010. [19] D. Fontijne, "Efficient Implementation of Geometric Algebra," PhD thesis, Univ. of Amsterdam, 2007. [20] P. Leopardi, "GluCat: Generic Library of Universal Clifford Algebra Templates," http:/glucat.sourceforge. net/, Sept. 2012. [21] D. Fontijne, T. Bouma, and L. Dorst, "Gaigen," http://www. science.uva.nl/gagaigen/, July 2002. [22] D. Fontijne, "Gaigen 2: A Geometric Algebra Implementation Generator," Proc. Int'l Conf. Generative Programming and Component Eng. (GPCE '06), 2006. [23] R. Ablamowicz and B. Fauser, "CLIFFORD—A Maple Package for Clifford Algebra Computations," http://math.tntech.edu/rafal/cliff16index.html , 2012. [24] S. Mann, L. Dorst, and T. Bouma, "The Making of GABLE, a Geometric Algebra Learning Environment in Matlab," Geometric Algebra with Applications in Science and Engineering, E. Bayro-Corrochano and G. Sobczyk, eds., pp. 491-511, Birkhauser, 2001. [25] J. Browne, "Grassmann Algebra," http://www.grassmannalgebra.infograssmannalgebra /, 2012. [26] C. Perwass, "CLUCalc: Interactive Visualization," http:/www. CluCalc.info, 2012. [27] P. Lounesto, "CLICAL, a Calculator Type Computer Program for Vectors, Complex Numbers, Quaternions, Bivectors, Spinors, and Multivectors in Clifford Algebras," http://users.tkk.fi/ppuska/mirror/Lounesto CLICAL.htm, 2012. [28] D. Hildenbrand and A. Koch, "Gaalop—High Performance Computing Based on Conformal Geometric Algebra," Proc. Third Int'l Conf. Applications of Geometric Algebras in Computer Science and Eng. (AGACSE '08), 2008. [29] A. Gentile, S. Segreto, F. Sorbello, G. Vassallo, S. Vitabile, and V. Vullo, "CliffoSor: A Parallel Embedded Architecture for Geometric Algebra and Computer Graphics," Proc. IEEE Int'l Workshop Computer Architecture for Machine Perception (CAMP '05), pp. 90-95, 2005. [30] Geometric Computing with Clifford Algebras, G. Sommer, ed., Springer Verlag, 2001. [31] Geometric Algebra with Applications in Science and Engineering, E.B. Corrochano and G. Sobczyk, eds., Birkhäuser, 2001. [32] D. Hildenbrand, "Geometric Computing in Computer Graphics Using Conformal Geometric Algebra," Computers and Graphics vol. 29, no. 5, pp. 795-803, Oct. 2005. [33] L. Dorst, D. Fontijne, and S. Mann, "GA Sandbox," http://www. geometricalgebra.netsandbox.html , Sept. 2012. [34] L. Dorst, D. Fontijne, and S. Mann, "Confromal Model Raytracer," http://www.geometricalgebra.netraytracer.html , Sept. 2012. [35] R. Schott and G.S. Staples, "Reductions in Computational Complexity Using Clifford Algebras," Proc. Advances in Applied Clifford Algebras Conf., pp. 121-140, 2010.