Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Garrin Kimmell

dblp:25/6131 · DBLP profile ↗
← Back
9ranked-venue papers
1as first author
2since 2021 · last 2022
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 1 first-author · 1 since 2021Systems, architecture and hardware · 3 · 2 since 2021Theory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Hardware accelerators and domain-specific architectures · 54% Interconnection networks and networks-on-chip · 30% Processor architecture and microarchitecture · 12%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 90% Compilers and program optimization · 10%
Artificial intelligence
1 paper
Deep learning architectures and training · 100%

Topics — the 10 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware accelerators and domain-specific architectures
machine learning accelerator
1.022022
A software-defined tensor streaming multiprocessor for large-scale machine learning · ISCA 2022
Think Fast: A Tensor Streaming Processor (TSP) for Accelerating Deep Learning Workloads · ISCA 2020
Hardware accelerators and domain-specific architectures › tensor accelerator
tensor streaming processor
1.022022
A software-defined tensor streaming multiprocessor for large-scale machine learning · ISCA 2022
Think Fast: A Tensor Streaming Processor (TSP) for Accelerating Deep Learning Workloads · ISCA 2020
Interconnection networks and networks-on-chip › network topology › low-diameter topology
dragonfly network
0.612022
A software-defined tensor streaming multiprocessor for large-scale machine learning · ISCA 2022
Interconnection networks and networks-on-chip › network topology
large-scale interconnection networks
0.612022
A software-defined tensor streaming multiprocessor for large-scale machine learning · ISCA 2022
Processor architecture and microarchitecture
dataflow architecture
0.412020
Think Fast: A Tensor Streaming Processor (TSP) for Accelerating Deep Learning Workloads · ISCA 2020
Distributed systems
global memory
0.212022
A software-defined tensor streaming multiprocessor for large-scale machine learning · ISCA 2022
Programming languages and type systems › language semantics › formal semantics › denotational semantics
monadic semantics
0.122007
Modular and generic programming with interpreterlib · ASE 2007
Prufrock: a framework for constructing polytypic theorem provers · ASE 2005
Programming languages and type systems
language design
0.112007
Modular and generic programming with interpreterlib · ASE 2007
Automated reasoning and model checking
theorem proving
0.112005
Prufrock: a framework for constructing polytypic theorem provers · ASE 2005
Logic in computer science
proof theory
0.012005
Prufrock: a framework for constructing polytypic theorem provers · ASE 2005

Methods — techniques the papers use, named apart from their topics

producer-consumer stream programming · 0.9dataflow locality · 0.9software-defined networking · 0.6flow control · 0.6polytypic programming · 0.2generic programming · 0.2algebra combinators · 0.1
YearPublicationVenuePosition
2022 The Groq Software-defined Scale-out Tensor Streaming Multiprocessor : From chips-to-systems architectural overview
abstract
Tensor Streaming Processor (TSP) Background
Dennis Abts, John Kim 0001, Garrin Kimmell, Matthew Boyd, Kris Kang, Sahil Parmar, Andrew C. Ling, Andrew Bitar, Ibrahim Ahmed 0007, Jonathan Ross
HCS3
2022 A software-defined tensor streaming multiprocessor for large-scale machine learning
abstract
We describe our novel commercial software-defined approach for large-scale interconnection networks of tensor streaming processing (TSP) elements. The system architecture includes packaging, routing, and flow control of the interconnection network of TSPs. We describe the communication and synchronization primitives of a bandwidth-rich substrate for global communication. This scalable communication fabric provides the backbone for large-scale systems based on a software-defined Dragonfly topology, ultimately yielding a parallel machine learning system with elasticity to support a variety of workloads, both training and inference. We extend the TSP's producer-consumer stream programming model to include global memory which is implemented as logically shared, but physically distributed SRAM on-chip memory. Each TSP contributes 220 MiBytes to the global memory capacity, with the maximum capacity limited only by the network's scale --- the maximum number of endpoints in the system. The TSP acts as both a processing element (endpoint) and network switch for moving tensors across the communication links. We describe a novel software-controlled networking approach that avoids the latency variation introduced by dynamic contention for network links. We describe the topology, routing and flow control to characterize the performance of the network that serves as the fabric for a large-scale parallel machine learning system with up to 10,440 TSPs and more than 2 TeraBytes of global memory accessible in less than 3 microseconds of end-to-end system latency.
Dennis Abts, Garrin Kimmell, Andrew C. Ling, John Kim 0001, Matthew Boyd, Andrew Bitar, Sahil Parmar, Ibrahim Ahmed 0007, Roberto DiCecco, Michael Bye, Jennifer Hwang, Jeremy Fowers, Peter Lillian, Ashwin Murthy, Elyas Mehtabuddin, Chetan Tekur, Thomas Sohmers, Kris Kang, Stephen Maresh, Jonathan Ross
ISCA2
2020 Think Fast: A Tensor Streaming Processor (TSP) for Accelerating Deep Learning Workloads
abstract
In this paper, we introduce the Tensor Streaming Processor (TSP) architecture, a functionally-sliced microarchitecture with memory units interleaved with vector and matrix deep learning functional units in order to take advantage of dataflow locality of deep learning operations. The TSP is built based on two key observations: (1) machine learning workloads exhibit abundant data parallelism, which can be readily mapped to tensors in hardware, and (2) a simple and deterministic processor with producer-consumer stream programming model enables precise reasoning and control of hardware components, achieving good performance and power efficiency. The TSP is designed to exploit parallelism inherent in machine-learning workloads including instruction-level, memory concurrency, data and model parallelism, while guaranteeing determinism by eliminating all reactive elements in the hardware (e.g. arbiters, and caches). Early ResNet50 image classification results demonstrate 20.4K processed images per second (IPS) with a batch-size of one— a $4 \times$ improvement compared to other modern GPUs and accelerators [44]. Our first ASIC implementation of the TSP architecture yields a computational density of more than 1 TeraOp/s per square mm of silicon for its $25 \times 29$ mm 14nm chip operating at a nominal clock frequency of 900 MHz. The TSP demonstrates a novel hardware-software approach to achieve fast, yet predictable, performance on machine-learning workloads within a desired power envelope.
Dennis Abts, Jonathan Ross, Jonathan Sparling, Mark Wong-VanHaren, Max Baker, Tom Hawkins, Temesghen Kahsai, Garrin Kimmell, Jennifer Hwang, Rebekah Leslie-Hurd, Michael Bye, E. R. Creswick, Matthew Boyd, Mahitha Venigalla, Evan Laforge, Jon Purdy, Purushotham Kamath, Dinesh Maheshwari, Michael Beidler, Geert Rosseel, Omar Ahmad, Gleb Gagarin, Richard Czekalski, Ashay Rane, Sahil Parmar, Jeff Werner, Jim Sproch, Adrián Macías, Brian Kurtz
ISCA10
2011 Type Preservation as a Confluence Problem
abstract
This paper begins with recent work by Kuan, MacQueen, and Findler, which shows how standard type systems, such as the simply typed lambda calculus, can be viewed as abstract reduction systems operating on terms. The central idea is to think of the process of typing a term as the computation of an abstract value for that term. The standard metatheoretic property of type preservation can then be seen as a confluence problem involving the concrete and abstract operational semantics, viewed as abstract reduction systems (ARSs). In this paper, we build on the work of Kuan et al. by showing show how modern ARS theory, in particular the theory of decreasing diagrams, can be used to establish type preservation via confluence. We illustrate this idea through several examples of solving such problems using decreasing diagrams. We also consider how automated tools for analysis of term-rewriting systems can be applied in testing type
Aaron Stump, Garrin Kimmell, Roba El Haj Omar
RTA2
2010 Constructing language processors with algebra combinators
Nicolas Frisby, Garrin Kimmell, Philip Weaver, Perry Alexander
Sci. Comput. Program.2
2008 Synthesizing Software Defined Radio Components from Rosetta (invited)
abstract
The software defined radios movement is revolutionizing radio design by separating function from specific implementation. Like traditional software systems, software defined radio systems use a common operational definition that may be realized across numerous platforms. This paper describes initial efforts at realizing the promise of software defined radios by synthesizing radios to multiple implementation fabrics from a common Rosetta specification. We outline the approach by describing specifications used at each abstraction level, the operations implemented to synthesize radios, and various analysis techniques used to provide assurance in the resulting radio.
Garrin Kimmell, Ed Komp, Gary J. Minden, Joseph B. Evans, Perry Alexander
FDL1
2007 Constructing language processors with algebra combinators
abstract
Modular Monadic Semantics (MMS) is a well-known mechanism for structuring modular denotational semantic definitions for programming languages. The principal attraction of MMS is that families of language constructs can be independently specified and later combined in a mix-and-match fashion to create a complete language semantics. This has proved useful for constructing formal, yet executable, semantics when prototyping languages. In this work we demonstrate that MMS has an additional software engineering benefit. Rather than composing semantics for various language constructs, we can use MMS to compose various differing semantics for the same language constructs. We describe algebra combinators, the principal vehicle for achieving this reuse, along with a series of applications of the technique for common language processing tasks.
Philip Weaver, Garrin Kimmell, Nicolas Frisby, Perry Alexander
GPCE2
2007 Modular and generic programming with interpreterlib
abstract
Modular monadic semantics (MMS) is a well-known technique for structuring modular denotational semantic definitions. Families of language constructs are independently defined using syntactic functors and semantic algebras that can be combined in a mix-and-match fashion to create complete language definitions. We introduce InterpreterLib, a Haskell library that implements and extends MMS techniques for writing composable analyses. In addition to modular analyses composition, InterpreterLib provides algebra combinators, explicit algebra semantics, preprocessors for boiler plate generation and generic programming techniques adapted to language analysis. The key benefits of these features are reliability, increased code reuse via modularity and the ability to rapidly retarget component analyses.
Philip Weaver, Garrin Kimmell, Nicolas Frisby, Perry Alexander
ASE2
2005 Prufrock: a framework for constructing polytypic theorem provers
abstract
Current formal software engineering methodologies provide a vast array of languages for specifying correctness properties, as well as a wide assortment automated tools that aid in the verification of specified properties. Unfortunately, the implementation of each such tool requires an early commitment to a particular methodology and language, in terms of both high-level semantic concerns and the lower-level syntactic representations of properties and proofs. In this paper, we present Prufrock, a novel approach to automated reasoning systems, which abstracts semantic concerns over entire classes of potential implementation languages. Prufrock utilizes polytypic programming techniques to create independent, reusable modules defining proof in different logics, independent of the language used to represent formulae in the logic, as well as the exact implementation of low-level prover functionality.
Justin Ward, Garrin Kimmell, Perry Alexander
ASE2