Design and implementation of an embedded coprocessor with native support for 5D, quadruple-based Clifford algebra
- Autori: Franchini, S; Gentile, A; Sorbello, F; Vassallo, G; Vitabile, S
- Anno di pubblicazione: 2013
- Tipologia: Articolo in rivista (Articolo in rivista)
- OA Link: http://hdl.handle.net/10447/76585
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 literature. This paper introduces the architecture of CliffordALU5, an embedded coprocessing core conceived for native execution of up to five-dimensional (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 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 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. The 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× to 4× with respect to the baseline Gaigen 2 implementation. Lastly, a multi-core approach to higher dimensional CA based on CliffordALU5 is discussed.