EVE, an Object Oriented SIMD Library

  • Joel Falcou
  • Jocelyn Sérot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3038)


This paper describes eve (Expressive Velocity Engine), an object oriented C++ library designed to ease the process of writing efficient numerical applications using AltiVec, the SIMD extension designed by Apple, Motorola and IBM for PowerPC processors. Compared to the Altivec original C API, eve, offers a significant improvement in terms of expressivity. By relying on template metaprogramming techniques, this is not obtained at the expense of efficiency.


Parse Tree Measured Speedup Class Library Vector Operation Expression Template 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Harris, C., Stephens, M.: A combined corner and edge detector. In: 4th Alvey Vision Conference (1988)Google Scholar
  2. 2.
    Apple. AltiVec Instructions References, Tutorials and Presentation,
  3. 3.
  4. 4.
    Ollman. AltiVec Velocity Engine Tutorial (March 2001),
  5. 5.
    Veldhuizen, T.: Using C++ Template Meta-Programs. C++ Report 7, 36–43 (1995)Google Scholar
  6. 6.
    Veldhuizen, T.: Expression Templates. C++ Report 7, 26–31 (1995)Google Scholar
  7. 7.
    Veldhuizen, T.: Techniques for Scientific C++
  8. 8.
    Veldhuizen, T.: Arrays in Blitz++. In: Dr Dobb’s Journal of Software Tools, pp. 238–244 (1996)Google Scholar
  9. 9.
    The BOOST Library,
  10. 10.
  11. 11.
  12. 12.
  13. 13.
    Veldhuizen, T., Gannon, D.: Active Libraries: Rethinking the roles of compilers and libraries. In: Proc. of the SIAM Workshop on Object Oriented Methods for Interoperable Scientific and Engineering Computing, SIAM Press, Philadelphia (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Joel Falcou
    • 1
  • Jocelyn Sérot
    • 1
  1. 1.LASMEA, UMR 6602 CNRS/Univ. Blaise PascalClermont-FerrandFrance

Personalised recommendations