Superword level parallelism
tecnica di vettorizzazione automatica
Il superword level parallelism (SLP) è una tecnica di parallelizzazione automatica che consiste nell'identificare all'interno di un blocco base (eventualmente eseguendo srotolamento del loop) più istruzioni scalari che eseguono la stessa operazione e combinarle in una singola istruzione SIMD (se non ci sono dipendenze che lo impediscono). È una tecnica distinta e complementare rispetto alla vettorizzazione dei cicli.[1][2] La vettorizzazione SLP automatica è supportata da gcc dalla versione 4.3,[3] e da clang a partire dalla versione 3.3.[4]
Note
modifica- ^ Shin et al. (2005), pp. 165-175.
- ^ Samuel Larsen e Saman Amarasinghe, Exploiting Superword Level Parallelism with Multimedia Instruction Sets (PDF), su groups.csail.mit.edu.
- ^ Gcc 4.3 Release Series, su gcc.gnu.org.
- ^ LLVM 3.3 Release Notes, su releases.llvm.org.
Bibliografia
modifica- Jaewook Shin, Mary Hall e Jacqueline Chame, Superword-level parallelism in the presence of control flow, in Proceedings of the international symposium on Code generation and optimization, 2005, pp. 165-175.