6533b824fe1ef96bd1280120

RESEARCH PRODUCT

An Embedded, FPGA-based Computer Graphics Coprocessor with Native Geometric Algebra Support

Giorgio VassalloSalvatore VitabileSilvia FranchiniAntonio GentileFilippo Sorbello

subject

Settore ING-INF/05 - Sistemi Di Elaborazione Delle InformazioniSpeedupCoprocessorComputer scienceClifford algebraParallel computingRendering (computer graphics)Computer graphicsGeometric algebraHardware and ArchitectureComputingMethodologies_SYMBOLICANDALGEBRAICMANIPULATIONElectrical and Electronic EngineeringClifford algebra Computational geometry Embedded coprocessors Application-specific processor FPGA-based prototypingField-programmable gate arraySoftwareEuclidean vector

description

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. 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 Cliffordcoprocessor (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.

10.1016/j.vlsi.2008.09.010http://hdl.handle.net/10447/56304