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

Kevin Stock

dblp:37/9299 · DBLP profile ↗
← Back
8ranked-venue papers
3as first author
0since 2021 · last 2014
—ORCID · none

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

Systems, architecture and hardware · 5 · 2 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-author

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.

Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 100%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Parallel and multicore computing · 32% High-performance computing · 30% Distributed systems · 19%

Topics — the 13 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
loop transformation
0.322013
When polyhedral transformations meet SIMD code generation · PLDI 2013
Using machine learning to improve automatic vectorization · ACM Trans. Archit. Code Optim. 2012
Compilers and program optimization
vectorization
0.322013
When polyhedral transformations meet SIMD code generation · PLDI 2013
Using machine learning to improve automatic vectorization · ACM Trans. Archit. Code Optim. 2012
High-performance computing
collective communication
0.212014
A Communication-Optimal Framework for Contracting Distributed Tensors · SC 2014
Distributed systems › communication optimization
communication-optimal algorithms
0.212014
A Communication-Optimal Framework for Contracting Distributed Tensors · SC 2014
Interconnection networks and networks-on-chip › network topology
torus network
0.212014
A Communication-Optimal Framework for Contracting Distributed Tensors · SC 2014
Compilers and program optimization › loop transformation
polyhedral compilation
0.212013
When polyhedral transformations meet SIMD code generation · PLDI 2013
Compilers and program optimization › code generation
SIMD code generation
0.212013
When polyhedral transformations meet SIMD code generation · PLDI 2013
Parallel and multicore computing
parallel programming models and runtimes
0.212013
A framework for load balancing of tensor contraction expressions via dynamic task partitioning · SC 2013
Parallel and multicore computing › parallel algorithms
parallel algorithm design
0.112014
A framework for enhancing data reuse via associative reordering · PLDI 2014
High-performance computing
quantum chemistry
0.112014
A Communication-Optimal Framework for Contracting Distributed Tensors · SC 2014
High-performance computing
scientific computing systems
0.112014
A Communication-Optimal Framework for Contracting Distributed Tensors · SC 2014
Parallel and multicore computing › locality optimization
data locality optimization
0.012013
When polyhedral transformations meet SIMD code generation · PLDI 2013
Parallel and multicore computing › parallel programming models
task parallelism
0.012013
A framework for load balancing of tensor contraction expressions via dynamic task partitioning · SC 2013

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

polyhedral optimization · 0.3machine learning · 0.3assembly code feature extraction · 0.3scalability analysis · 0.2performance modeling · 0.2dynamic load balancing · 0.2
YearPublicationVenuePosition
2014 CAST: Contraction Algorithm for Symmetric Tensors
abstract
Tensor contractions represent the most compute- intensive core kernels in ab initio computational quantum chemistry and nuclear physics. Symmetries in these tensor contractions make them difficult to load balance and scale to large distributed systems. In this paper, we develop an efficient and scalable algorithm to contract symmetric tensors. We introduce a novel approach that avoids data redistribution during contraction of symmetric tensors while also bypassing redundant storage and maintaining load balance. We present experimental results on two parallel supercomputers for several symmetric contractions that appear in the coupled cluster singles and doubles (CCSD) quantum chemistry method. We also present a novel approach to tensor redistribution that can take advantage of parallel hyperplanes when the initial distribution has replicated dimensions, and use collective broadcast when the final distribution has replicated dimensions, making the algorithm very efficient.
Samyam Rajbhandari, Akshay Nikam, Pai-Wei Lai, Kevin Stock, Sriram Krishnamoorthy, P. Sadayappan
ICPP4
2014 A framework for enhancing data reuse via associative reordering
abstract
The freedom to reorder computations involving associative operators has been widely recognized and exploited in designing parallel algorithms and to a more limited extent in optimizing compilers.
Kevin Stock, Martin Kong, Tobias Grosser, Louis-Noël Pouchet, Fabrice Rastello, J. Ramanujam, P. Sadayappan
PLDI1
2014 A Communication-Optimal Framework for Contracting Distributed Tensors
abstract
Tensor contractions are extremely compute intensive generalized matrix multiplication operations encountered in many computational science fields, such as quantum chemistry and nuclear physics. Unlike distributed matrix multiplication, which has been extensively studied, limited work has been done in understanding distributed tensor contractions. In this paper, we characterize distributed tensor contraction algorithms on torus networks. We develop a framework with three fundamental communication operators to generate communication-efficient contraction algorithms for arbitrary tensor contractions. We show that for a given amount of memory per processor, the framework is communication optimal for all tensor contractions. We demonstrate performance and scalability of the framework on up to 262,144 cores on a Blue Gene/Q supercomputer.
Samyam Rajbhandari, Akshay Nikam, Pai-Wei Lai, Kevin Stock, Sriram Krishnamoorthy, P. Sadayappan
SC4
2013 When polyhedral transformations meet SIMD code generation
abstract
Data locality and parallelism are critical optimization objectives for performance on modern multi-core machines. Both coarse-grain parallelism (e.g., multi-core) and fine-grain parallelism (e.g., vector SIMD) must be effectively exploited, but despite decades of progress at both ends, current compiler optimization schemes that attempt to address data locality and both kinds of parallelism often fail at one of the three objectives.
Martin Kong, Richard Veras, Kevin Stock, Franz Franchetti, Louis-Noël Pouchet, P. Sadayappan
PLDI3
2013 A framework for load balancing of tensor contraction expressions via dynamic task partitioning
abstract
In this paper, we introduce the Dynamic Load-balanced Tensor Contractions (DLTC), a domain-specific library for efficient task parallel execution of tensor contraction expressions, a class of computation encountered in quantum chemistry and physics. Our framework decomposes each contraction into smaller unit of tasks, represented by an abstraction referred to as iterators. We exploit an extra level of parallelism by having tasks across independent contractions executed concurrently through a dynamic load balancing runtime. We demonstrate the improved performance, scalability, and flexibility for the computation of tensor contraction expressions on parallel computers using examples from Coupled Cluster (CC) methods.
Pai-Wei Lai, Kevin Stock, Samyam Rajbhandari, Sriram Krishnamoorthy, P. Sadayappan
SC2
2012 Using machine learning to improve automatic vectorization
abstract
Automatic vectorization is critical to enhancing performance of compute-intensive programs on modern processors. However, there is much room for improvement over the auto-vectorization capabilities of current production compilers through careful vector-code synthesis that utilizes a variety of loop transformations (e.g., unroll-and-jam, interchange, etc.). As the set of transformations considered is increased, the selection of the most effective combination of transformations becomes a significant challenge: Currently used cost models in vectorizing compilers are often unable to identify the best choices. In this paper, we address this problem using machine learning models to predict the performance of SIMD codes. In contrast to existing approaches that have used high-level features of the program, we develop machine learning models based on features extracted from the generated assembly code. The models are trained offline on a number of benchmarks and used at compile-time to discriminate between numerous possible vectorized variants generated from the input code. We demonstrate the effectiveness of the machine learning model by using it to guide automatic vectorization on a variety of tensor contraction kernels, with improvements ranging from 2× to 8× over Intel ICC's auto-vectorized code. We also evaluate the effectiveness of the model on a number of stencil computations and show good improvement over auto-vectorized code.
Kevin Stock, Louis-Noël Pouchet, P. Sadayappan
ACM Trans. Archit. Code Optim.1
2011 Data Layout Transformation for Stencil Computations on Short-Vector SIMD Architectures
Thomas Henretty, Kevin Stock, Louis-Noël Pouchet, Franz Franchetti, J. Ramanujam, P. Sadayappan
CC2
2011 Model-Driven SIMD Code Generation for a Multi-resolution Tensor Kernel
abstract
In this paper, we describe a model-driven compile-time code generator that transforms a class of tensor contraction expressions into highly optimized short-vector SIMD code. We use as a case study a multi-resolution tensor kernel from the MADNESS quantum chemistry application. Performance of a C-based implementation is low, and because the dimensions of the tensors are small, performance using vendor optimized BLAS libraries is also sub optimal. We develop a model-driven code generator that determines the optimal loop permutation and placement of vector load/store, transpose, and splat operations in the generated code, enabling portable performance on short-vector SIMD architectures. Experimental results on an SSE-based platform demonstrate the efficiency of the vector-code synthesizer.
Kevin Stock, Thomas Henretty, Iyyappa Murugandi, P. Sadayappan, Robert J. Harrison
IPDPS1