Transforming TLP into DLP with the Dynamic Inter-Thread Vectorization Architecture
Transformer le TLP en DLP par la vectorisation dynamique entre threads
Abstract
Threads of Single-Program Multiple-Data (SPMD) applications often execute the same instructions on different data. We propose the Dynamic Inter-Thread Vectorization Architecture (DITVA) to leverage this implicit Data Level Parallelism in SPMD applications to create dynamic vector instructions at runtime.
DITVA extends an SIMD-enabled in-order SMT processor with an inter-thread vectorization execution mode. In this mode, identical instructions of several threads running in lockstep are aggregated into a single SIMD instruction. DITVA leverages existing SIMD units, balances TLP and DLP with a warp/thread hierarchy, and maintains binary compatibility with existing CPU architectures.
Les threads des applications SPMD (single-program, multiple-data) exécutent souvent les mêmes instructions sur des données différentes. Nous proposons l'architecture de vectorisation dynamique inter-thread (DITVA) pour tirer parti de ce parallélisme de données (DLP) implicite dans les applications SPMD pour créer des instructions vectorielles dynamiques à l'exécution.
DITVA étend un processeur SMT avec unité SIMD par un mode d'exécution à vectorisation inter-thread. Dans ce mode, les instructions identiques de plusieurs threads synchronisés sont agrégées en une instruction SIMD unique. DITVA tire parti des instructions SIMD existantes, équilibre le TLP et DLP par une hiérarchie warp/thread, et maintient la compatibilité binaire avec les architectures CPU existantes.
Origin : Files produced by the author(s)
Loading...