Table 6: SW and HW execution times for 100 data sets.
execution time
SW on CPU 860 us
HW pipeline 6 us
(5 us until first data set +
100 * 10 ns remaining sets)
6 COMPARISON TO GPU
REALISATION
The fined-grained parallelism exploited by our FPGA
realisation is very different from the coarser-grained
one accessible when implementing the algorithm on a
modern GPU. A typical example, such as the NVidia
G80 architecture (NVIDIA Corp., 2007), can process
just 128 operations in parallel, using a SIMD (small-
vector) paradigm. In our approach, however, each of
the 550 pipeline stages has 4.. .10 operatorsexecuting
in parallel, leading to a total parallelism of thousands
of operations. Additionally, the GPU processing ele-
ments have a fixed architecture and cannot be tailored
to specific constants or precision requirements. Fur-
thermore, the GPU computation has to be manually
partitioned into units of parallel execution (so-called
threads or warps). In our approach, the mathemat-
ical formulation itself directly determines the hard-
ware structure of the accelerator, no additional par-
titioning is required. While we have not implemented
the algorithm on such a GPU yet, we expect the FPGA
realisation (especially one using a more recent chip
than the one in the current prototype) to be competi-
tive with a modern GPU implementation despite the
clock speed differences (550 MHz FPGA vs. 1350
MHz GPU). Such an evaluation is planned in a fur-
ther refinement of this work.
7 CONCLUSIONS
We presented a way to implement algorithms based
on conformal geometric algebra on hardware. After
having developed an algorithm easy and geometri-
cally intuitive on a very high level we are using the
symbolic calculation functionality of Maple as a soft-
ware optimization procedure. While this approach is
already leading to very efficient code we presented an
approach to further improve the performance using
configurable hardware. This implementation turned
out to be more than 100 times faster. These results
were shown based on an inverse kinematics algorithm
but we are convinced that this approach can be used
very advantageously in a lot of computer animation
and computer graphics applications.
REFERENCES
Bayro-Corrochano, E. and Zamora-Esquivel, J. (2004). In-
verse kinematics, fixation and grasping using confor-
mal geometric algebra. In IROS 2004, September
2004, Sendai, Japan.
Han, K. (2006). Automating Transformations from
Floating-point to Fixed-point for Implementing Dig-
ital Signal Processing Algorithms. PhD thesis, Dept.
of Electrical and Computer Engineering, The Univer-
sity of Texas at Austin.
Hennessy, J. L. and Patterson, D. A. (2007). Computer ar-
chitecture. Kaufmann [u.a.], Amsterdam [u.a.].
Hildenbrand, D. (2005). Geometric computing in computer
graphics using conformal geometric algebra. Comput-
ers & Graphics, 29(5):802–810.
Hildenbrand, D., Bayro-Corrochano, E., and Zamora-
Esquivel, J. (2005). Advanced geometric approach for
graphics and visual guided robot object manipulation.
In proceedings of ICRA conference, Barcelona, Spain.
Hildenbrand, D., Fontijne, D., Perwass, C., and Dorst, L.
(2004). Tutorial geometric algebra and its applica-
tion to computer graphics. In Eurographics confer-
ence Grenoble.
Hildenbrand, D., Fontijne, D., Wang, Y., Alexa, M., and
Dorst, L. (2006). Competitive runtime performance
for inverse kinematics algorithms using conformal ge-
ometric algebra. In Eurographics conference Vienna.
L.Dorst, Fontijne, D., Mann, S., and Kaufman, M. (2007).
Geometric Algebra for Computer Science, An Object-
Oriented Approach to Geometry. Morgan Kaufman.
NVIDIA Corp. (2007). NVIDIA CUDA Compute Unified
Device Architecture Programming Guide Version 1.0.
NVIDIA Corp.
Rosenhahn, B. (2003). Pose Estimation Revisited. PhD
thesis, Inst. f. Informatik u. Prakt. Mathematik der
Christian-Albrechts-Universit¨at zu Kiel.
The MathWorks (2007). Fixed-Point Toolbox 2, Reference.
The MathWorks.
Tolani, D., Goswami, A., and Badler, N. I. (2000). Real-
time inverse kinematics techniques for anthropomor-
phic limbs. Graphical Models, 62(5):353–388.
Xilinx (2005). Virtex-II Pro and Virtex-II Pro X Platform
FPGAs: Complete Data Sheet (DS083). Xilinx.
EFFICIENT INVERSE KINEMATICS ALGORITHM BASED ON CONFORMAL GEOMETRIC ALGEBRA - Using
Reconfigurable Hardware
307