@inproceedings{28a76aff338e4bf5a54b6eeb7ca47339,
title = "Rigel: An architecture and scalable programming interface for a 1000-core accelerator",
abstract = "This paper considers Rigel, a programmable accelerator architecture for a broad class of data- and task-parallel computation. Rigel comprises 1000+ hierarchically-organized cores that use a fine-grained, dynamically scheduled single-program, multiple-data (SPMD) execution model. Rigel's low-level programming interface adopts a single global address space model where parallel work is expressed in a task-centric, bulk-synchronized manner using minimal hardware support. Compared to existing accelerators, which contain domain-specific hardware, specialized memories, and restrictive programming models, Rigel is more flexible and provides a straightforward target for a broader set of applications. We perform a design analysis of Rigel to quantify the compute density and power efficiency of our initial design. We find that Rigel can achieve a density of over 8 single-precision GFLOPS/mm2 in 45nm, which is comparable to high-end GPUs scaled to 45nm. We perform experimental analysis on several applications ported to the Rigel low-level programming interface. We examine scalability issues related to work distribution, synchronization, and load-balancing for 1000-core accelerators using software techniques and minimal specialized hardware support. We find that while it is important to support fast task distribution and barrier operations, these operations can be implemented without specialized hardware using flexible hardware primitives.",
keywords = "Accelerator, Computer architecture, Low-level programming interface",
author = "Kelm, {John H.} and Johnson, {Daniel R.} and Johnson, {Matthew R.} and Crago, {Neal C.} and William Tuohy and Aqeel Mahesri and Lumetta, {Steven Sam} and Frank, {Matthew I.} and Patel, {Sanjay Jeram}",
year = "2009",
doi = "10.1145/1555754.1555774",
language = "English (US)",
isbn = "9781605585260",
series = "Proceedings - International Symposium on Computer Architecture",
pages = "140--151",
booktitle = "ISCA 2009 - 36th Annual International Symposium on Computer Architecture, Conference Proceedings",
note = "ISCA 2009 - 36th Annual International Symposium on Computer Architecture ; Conference date: 20-06-2009 Through 24-06-2009",
}