DaPPA: A Data-Parallel Framework for Processing-in-Memory Architectures
DaPPA : Un framework de traitement parallèle des données pour les architectures de traitement en mémoire
Abstract
To ease the programmability of PIM architectures, we propose DaPPA(data-parallel processing-in-memory architecture), a framework that can, for a given application, automatically distribute input and gather output data, handle memory management, and parallelize work across the DPUs. The key idea behind DaPPA is to remove the responsibility of managing hardware resources from the programmer by providing an intuitive data-parallel pattern-based programming interface that abstracts the hardware components of the UPMEM system. Using this key idea, DaPPA transforms a data-parallel pattern-based application code into the appropriate UPMEM-target code, including the required APIs for data management and code partition, which can then be compiled into a UPMEM-based binary transparently from the programmer. While generating UPMEM-target code, DaPPA implements several code optimizations to improve end-to-end performance.
Pour faciliter la programmabilité des architectures PIM (Processing-In-Memory), nous proposons DaPPA (architecture de traitement en mémoire parallèle de données), un cadre qui peut, pour une application donnée, distribuer automatiquement les données d'entrée et rassembler les données de sortie, gérer la mémoire, et paralléliser le travail à travers les unités de traitement de données (DPUs). L'idée principale derrière DaPPA est d'enlever la responsabilité de la gestion des ressources matérielles du programmeur en fournissant une interface de programmation basée sur des modèles parallèles de données intuitifs qui abstraient les composants matériels du système UPMEM. En utilisant cette idée clé, DaPPA transforme un code d'application basé sur des modèles parallèles de données en code cible UPMEM approprié, y compris les API nécessaires pour la gestion des données et la partition du code, qui peuvent ensuite être compilés en un binaire basé sur UPMEM de manière transparente pour le programmeur. Lors de la génération du code cible UPMEM, DaPPA met en œuvre plusieurs optimisations de code pour améliorer la performance de bout en bout.
Domains
Computer Science [cs]Origin | Files produced by the author(s) |
---|