Superword level parallelism
Vai alla navigazione
Vai alla ricerca
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 | modifica wikitesto]- ^ 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 | modifica wikitesto]- 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.