Detailseite
Projekt Druckansicht

Balancierung von Berechnungen in im-Speicher nichtflüchtigen heterogenen Systemen

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Rechnerarchitektur, eingebettete und massiv parallele Systeme
Förderung Förderung seit 2022
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 502388442
 
Neu emerging Speichertechnologien haben das Potenzial, das etablierte Von-Neumann Paradigma der Datenverarbeitung zu durchbrechen. Insbesondere Near- und In-Memory-Computing mit diesen Technologien versprechen eine noch nie dagewesene Verbesserung der Leistung und der Energieeffizienz, indem die Datenbewegungen im System erheblich reduziert werden. Heute gibt es eine Fülle von Forschungsarbeiten über handoptimierte anwendungsspezifische Near/In-Memory-Systeme, die aus dem Bereich der Computerarchitektur stammen. Die meisten dieser Systeme sind mit einer einzigen Speichertechnologie ausgestattet, z. B. In-DRAM oder In-PCM-Computing, so dass die Funktionen konkurrierender Technologien und die Synergieeffekte heterogener Konfigurationen möglicherweise nicht zum Tragen kommen. Eine breitere Anwendung dieser neuen Paradigmen erfordert eine allgemeinere und abstraktere Denkweise über die Kompromisse, die durch die verschiedenen zugrunde liegenden Speichertechnologien entstehen. Ebenso sind angemessene Softwareabstraktionen und neuartige Kompilierungsmethoden dringend erforderlich, um eine transparente und effiziente Nutzung solcher neu emerging heterogenen Systeme zu ermöglichen. In diesem Projekt werden generische heterogene Systeme untersucht, die zwei verschiedene zugrunde liegende Technologien für speicherinterne Berechnungen (HetCIM) integrieren, nämlich memristive Devices und spintronische Racetracks. Erstere wurde ausgiebig für die Beschleunigung von linearen Algebra-Operationen (in tiefen neuronalen Netzen) untersucht, während letztere erst kürzlich um die Unterstützung von logischen bulk-Operationen erweitert wurde. Die Verallgemeinerung solcher grundlegender Berechnungsprimitive und der damit verbundenen Kosten wird es uns ermöglichen, einen High-Level-Kompilierungsframework zu entwickeln, der Code automatisch umwandelt und auf die geeignetere Technologie überträgt. Zu diesem Zweck werden wir eine mehrstufige Kompilierungspipeline unter Verwendung des kürzlich vorgeschlagenen MLIR-Frameworks mit device-spezifischen und device-unabhängigen Zwischendarstellungen für CIM aufbauen. Auf dieser Ebene werden wir das Zuordnungsproblem untersuchen, um zu entscheiden, welches Device für welche Berechnungen zu verwenden ist, und an device-spezifischen Transformationen arbeiten, z. B. an Operation-Schedules zur Verlängerung der Lebensdauer von memristiven Geräten oder zur Amortisierung der sequenziellen Zugriffslatenz in Racetracks. Auf höheren Ebenen werden wir domänenspezifische Abstraktionen (z. B. für Tensor-Algebra) zusammen mit der beliebten affinen Abstraktion (für reguläre verschachtelte Schleifen) nutzen und den Raum der algorithmischen und polyedrischen Transformationen für HetCIM-Systeme erforschen. Diese Abstraktionen werden es uns ermöglichen, den Kompilierungsframework zu demonstrieren und die Effizienz von HetCIM-Systemen bei Anwendungen aus den Bereichen maschinelles Lernen, Bioinformatik und Hochleistungsrechnen zu bewerten.
DFG-Verfahren Schwerpunktprogramme
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung