KIP publications

 
year 2017
author(s) Arthur Heimbrecht
title Compiler Support for the BrainScaleS Plasticity Processor
KIP-Nummer HD-KIP 17-32
KIP-Gruppe(n) F9
document type Bachelorarbeit
Keywords Compiler, PPU, Processor, GCC, GNU Compiler Collection, Back-End, PowerISA
Abstract (de)

Das Brainscales Wafersystem ermöglicht beschleunigtes analoges neuromorphes Rech- nen mit fest eingebauten synaptischen Plastizitätsregeln. Der Prototyp für die nächste Generation des Systems (HICANN-DLS) verwendet einen programmierbaren Plastiz- itätsprozessor, der zukünftig verschiedenste Plastitzitätsregeln ermöglichen soll. Dieser Prozessor basiert auf der Power7 Architektur und wurde um eine spezielle Vektorein- heit zur SIMD-Parallelisierung erweitert. Zusammen mit einer eigenen I/O-Schnittstelle, kann der Prozessor auf Synapsengewichte, Korrelationsmessungen und die Chipkonfig- uration zugreifen und updaten. Das ermöglicht schnelle und flexible Plastizitätsregeln während eines Experiments. Zusätzlich ist der Prozessor in der Lage weitere Aufgaben in Experimenten zu übernehmen.

In dieser Bachelorarbeit wird die Anpassung des GNU Compiler Collection (GCC) Backends für diese Architektur beschrieben. Dies ermöglicht die vollständige Nutzung höherer Programmiersprachen und weitere Vorteile, wie Optimierung, Unterstützung von integriertem Assembler und intrinsische Vektorfunktionen. Mit dem Backend wurden bereits erste Tests der Vektoreinheit durchgeführt, wodurch Bugs im aktuellen Prozes- sordesign entdeckt werden konnten, die jedoch mit Software zu lösen sind. Mittlerweile wird das erweiterte Backend von Anwendern für verschiedene Experimente genutzt.

Abstract (en)

The BrainScaleS wafer-scale system is an approach to accelerated analog neuromorphic computing that supports online plasticity with fixed update rules. For its next generation the current prototype(HICANN-DLS) features a programmable plasticity processor, that is designed for a wide range of plasticity rules. It is based on a Power7 architecture and includes a vector extension for SIMD-parallelization. Together with a custom I/O- interface it is able to access and update synaptic weights, correlation measurements and chip configuration in the system. This allows for fast and flexible application of plasticity rules during experiments. This architecture is also capable of performing additional tasks in experiments.

This thesis will focus on bringing high-level programming to the architecture by ex- tending the PowerPC back-end of the GNU Compiler Collection (GCC). This allows for programming the vector extension using important features of GCC, such as vector in- trinsics, inline assembly and optimization. First tests of the extended back-end have been successful and pinned down bugs in the current processor, which could be worked around. The extended back-end is already in use for different synaptic plasticity experiments.

bibtex
@mastersthesis{heimbrechtBA,
  author   = {Arthur Heimbrecht},
  title    = {Compiler Support for the BrainScaleS Plasticity Processor},
  school   = {Universit\"at Heidelberg},
  year     = {2017},
  type     = {Bachelorarbeit},
  month    = {March}
}
Datei pdf
up
KIP - Bibliothek
Im Neuenheimer Feld 227
Raum 3.402
69120 Heidelberg