An embedded, FPGA-based computer graphics coprocessor with native geometric algebra support

The representation of geometric objects and their transformation are the two key aspects in computer graphics applications. Traditionally, computer-intensive matrix calculations are involved in modeling and rendering three-dimensional (3D) scenery. Geometric algebra (aka Clifford algebra) is attracting attention as a natural way to model geometric facts and as a powerful analytical tool for symbolic calculations. In this paper, the architecture of Clifford coprocessor (CliffoSor) is introduced. CliffoSor is an embedded parallel coprocessing core that offers direct hardware support to Clifford algebra operators. A prototype implementation on a programmable gate array (FPGA) board is detailed. Initial test results show the potential to achieve a 20x speedup for 3D vector rotations, a 12x speedup for Clifford sums and differences, and more than a 4x speedup for Clifford products, compared to the analogous operations in GAIGEN, a standard geometric algebra library generator for general-purpose processors. An execution analysis of a raytracing application is also presented.

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

[2]  Rafał Abłamowicz Clifford Algebra Computations with Maple , 1996 .

[3]  Giorgio Vassallo,et al.  CliffoSor, an Innovative FPGA-based Architecture for Geometric Algebra , 2005, ERSA.

[4]  Gerald Sommer,et al.  Geometric Computing with Clifford Algebras , 2001, Springer Berlin Heidelberg.

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

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

[7]  Leo Dorst,et al.  Honing geometric algebra for its use in the computer sciences , 2001 .

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

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

[10]  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).

[11]  L. Dorst The Inner Products of Geometric Algebra , 2002 .

[12]  D. Hestenes,et al.  Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics , 1984 .

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