Multi-Target Vectorization with MTPS C++ Generic Library - Kirschenmann, Wilfried; Plagne, Laurent; Vialle, Stéphane (HAL CCSD, 2010)
International audience This article introduces a C++ template library dedicated at vectorizing algorithms for different target architectures: Multi-Target Parallel Skeleton (MTPS). Skeletons describing the data structures and algorithms are provided and allow MTPS to generate a code with optimized memory access patterns for the choosen architecture. MTPS currently supports x86-64 multicore CPUs and CUDA enabled GPUs. On these architectures, performances close to hardware limits are observed.