EVE : an object-oriented SIMD library
Résumé
This paper describes the Expressive Velocity Engine (E.V.E.) library, an ob ject oriented C++ library designed to ease the process of writting efficient numerical applications using AltiVec, the SIMD ex- tension designed by Apple, Motorola and IBM. AltiVec-powered appli- cations typically show off a relative speed up of 4 to 16 but need a complex and awkward programming style. By using various template metaprogramming techniques, E.V.E. provides an easy to use, STL-like, interface that allows developer to quickly write efficient and easy to read code. Typical applications written with E.V.E. can benefit from a large fraction of theorical maximum speed up while being written as simple C++ arithmetic code.