2006 · 125 citations · 21 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureParallel ComputingData ParallelismData-flow AnalysisHardware AccelerationInstruction Set ArchitectureInstruction-level ParallelismRegister AllocationExecution Time AnalysisInterleavingInterleaving TechniquesSimd ArchitecturesSimd ParallelismVector InstructionsVector ProcessingVectorization
Most implementations of the Single Instruction Multiple Data (SIMD) model available today require that data elements be packed in vector registers. Operations on disjoint vector elements are not supported directly and require explicit data reorganization manipulations. Computations on non-contiguous and especially interleaved data appear in important applications, which can greatly benefit from SIMD instructions once the data is reorganized properly. Vectorizing such computations efficiently is therefore an ambitious challenge for both programmers and vectorizing compilers. We demonstrate an automatic compilation scheme that supports effective vectorization in the presence of interleaved data with constant strides that are powers of 2, facilitating data reorganization. We demonstrate how our vectorization scheme applies to dominant SIMD architectures, and present experimental results on a wide range of key kernels, showing speedups in execution time up to 3.7 for interleaving levels (stride) as high as 8.
21
MMX technology extension to the Intel architecture
A. Peleg, Uri Weiser · IEEE Micro · 1996 · 493 citations
AltiVec extension to PowerPC accelerates media processing
K. Diefendorff, P.K. Dubey, R. Hochsprung et al. · IEEE Micro · 2000 · 250 citations
Gina Goff, Ken Kennedy, Chau‐Wen Tseng · 1991 · 228 citations · Full text