The Community for Technology Leaders
RSS Icon
Issue No.05 - Sept.-Oct. (2012 vol.14)
pp: 72-77
Pierre Esterie , University of Paris-Sud
Mathias Gaunard , MetaScale
Joel Falcou , University of Paris-Sud
Jean-Thierry Lapresté , Ecole Nationale Supérieure de Chimie de Clermont-Ferrand
Single instruction, multiple data (SIMD) extensions have been a feature of choice for processor manufacturers for a couple of decades. Designed to provide significant accelerations, they require expertise, the use of potentially fragile compiler support, or vendor-specific libraries. Here, a C++ template library called Boost.SIMD is presented that simplifies the exploitation of SIMD hardware within a standing C++ programming model.
Scientific computing, Computational modeling, Hardware, Instruction sets, Programming, scientific computing, SIMD hardware, C++, computational science, scientific programming
Pierre Esterie, Mathias Gaunard, Joel Falcou, Jean-Thierry Lapresté, "Exploiting Multimedia Extensions in C++: A Portable Approach", Computing in Science & Engineering, vol.14, no. 5, pp. 72-77, Sept.-Oct. 2012, doi:10.1109/MCSE.2012.96
1. M. Jang, K. Kim, and K. Kim, “The Performance Analysis of Arm Neon Technology for Mobile Platforms,” Proc. 2011 ACM Symp. Research in Applied Computation, ACM, 2011, pp. 104–106.
2. J. Kurzak, W. Alvaro, and J. Dongarra, “Optimizing Matrix Multiplication for a Short-Vector SIMD Architecture: Cell Processor,” Parallel Computing, vol. 35, no. 3, 2009, pp. 138–150.
3. A. Stepanov and M. Lee, The Standard Template Library, tech. report 95-11(R.1), Hewlitt-Packard Laboratories, 1995.
4. L. Lacassagne et al., “High-Performance Motion Detection: Some Trends Toward New Embedded Architectures for Vision Systems,” J. Real-Time Image Processing, vol. 4, 2009, pp. 127–146.
5. P. Esterie et al., “Boost.SIMD: Generic Programming for Portable SIMDization,” The 21st Int'l Conf. Parallel Architectures and Compilation Techniques, ACM, 2012, in press.
47 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool