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

Steven J. Deitz

dblp:97/7037 · DBLP profile ↗
← Back
7ranked-venue papers
5as first author
0since 2021 · last 2006
—ORCID · none

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

Systems, architecture and hardware · 6 · 4 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.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
Parallel and multicore computing · 83% High-performance computing · 17%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 60% Compilers and program optimization · 40%

Topics — the 5 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.132006
Global-view abstractions for user-defined reductions and scans · PPoPP 2006
The design and implementation of a parallel array operator for the arbitrary remapping of data · PPoPP 2003
A Comparative Study of the NAS MG Benchmark across Parallel Languages and Architectures · SC 2000
Parallel and multicore computing › parallel algorithms › PRAM algorithms
parallel prefix computation
0.112006
Global-view abstractions for user-defined reductions and scans · PPoPP 2006
Parallel and multicore computing › data distribution
data redistribution
0.012003
The design and implementation of a parallel array operator for the arbitrary remapping of data · PPoPP 2003
High-performance computing › collective communication
gather and scatter operations
0.012003
The design and implementation of a parallel array operator for the arbitrary remapping of data · PPoPP 2003
High-performance computing
scientific computing systems
0.012000
A Comparative Study of the NAS MG Benchmark across Parallel Languages and Architectures · SC 2000

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

performance evaluation · 0.0benchmarking · 0.0
YearPublicationVenuePosition
2006 Iterators in Chapel
abstract
A long-held tenet of software engineering is that algorithms and data structures should be specified orthogonally in order to minimize the impact that changes to one will have on the other. Unfortunately, this principle is often not well-supported in scientific and parallel codes due to the lack of abstractions for factoring iteration away from computation in traditional scientific languages. The result is a fragile situation in which complex loop nests are used to express parallelism and maximize performance, yet must be maintained individually as the algorithm and data structures evolve. In this paper, we introduce the iterator concept in the Chapel parallel programming language, designed to address this problem and provide a means for factoring iteration away from computation. The paper illustrates iterators using several examples, compares our approach with those taken in other languages, and describes our implementation in the Chapel compiler
Mackale Joyner, Bradford L. Chamberlain, Steven J. Deitz
IPDPS3
2006 Global-view abstractions for user-defined reductions and scans
abstract
Since APL, reductions and scans have been recognized as powerful programming concepts. Abstracting an accumulation loop (reduction) and an update loop (scan), the concepts have efficient parallel implementations based on the parallel prefix algorithm. They are often included in high-level languages with a built-in set of operators such as sum, product, min, etc. MPI provides library routines for reductions that account for nearly nine percent of all MPI calls in the NAS Parallel Benchmarks (NPB) version 3.2. Some researchers have even advocated reductions and scans as the principal tool for parallel algorithm design.Also since APL, the idea of applying the reduction control structure to a user-defined operator has been proposed, and several implementations (some parallel) have been reported. This paper presents the first global-view formulation of user-defined scans and an improved global-view formulation of user-defined reductions, demonstrating them in the context of the Chapel programming language. Further, these formulations are extended to a message passing context (MPI), thus transferring global-view abstractions to local-view languages and perhaps signaling a way to enhance local-view languages incrementally. Finally, examples are presented showing global-view user-defined reductions "cleaning up" and/or "speeding up" portions of two NAS benchmarks, IS and MG. In consequence, these generalized reduction and scan abstractions make the full power of the parallel prefix technique available to both global- and local-view parallel programming.
Steven J. Deitz, David Callahan, Bradford L. Chamberlain, Lawrence Snyder 0001
PPoPP1
2004 Abstractions for Dynamic Data Distribution
Steven J. Deitz, Bradford L. Chamberlain, Lawrence Snyder 0001
HIPS1
2003 The design and implementation of a parallel array operator for the arbitrary remapping of data
abstract
Gather and scatter are data redistribution functions of longstanding importance to high performance computing. In this paper, we present a highly-general array operator with powerful gather and scatter capabilities unmatched by other array languages. We discuss an efficient parallel implementation, introducing three new optimizations—schedule compression, dead array reuse, and direct communication—that reduce the costs associated with the operator’s wide applicability. In our implementation of this operator in ZPL, we demonstrate performance comparable to the hand-coded Fortran + MPI versions of the NAS FT and CG benchmarks. Categories and Subject Descriptors D.3.2 [Programming Languages]: Language Classifications—concurrent, distributed and parallel languages
Steven J. Deitz, Bradford L. Chamberlain, Sung-Eun Choi, Lawrence Snyder 0001
PPoPP1
2002 High-level Language Support for User-defined Reductions
Steven J. Deitz, Bradford L. Chamberlain, Lawrence Snyder 0001
J. Supercomput.1
2001 Eliminating redundancies in sum-of-product array computations
abstract
Array programming languages such as Fortran 90, High Performance Fortran and ZPL are well-suited to scientific computing because they free the scientist from the responsibility of managing burdensome low-level details that complicate programming in languages like C and Fortran 77. However, these burdensome details are critical to performance, thus necessitating aggressive compilation techniques for their optimization. In this paper, we present a new compiler optimization called Array Subexpression Elimination (ASE) that lets a programmer take advantage of the expressibility afforded by array languages and achieve enviable portability and performance. We design a set of micro-benchmarks that model an important class of computations known as stencils and we report on our implementation of this optimization in the context of this micro-benchmark suite. Our results include a 125% improvement on one of these benchmarks and a 50% average speedup across the suite. Also we show a speedup of 32% improvement on the ZPL port of the NAS MG Parallel Benchmark and a 29% speedup over the hand-optimized Fortran version. Further, the compilation time is only negligibly affected.
Steven J. Deitz, Bradford L. Chamberlain, Lawrence Snyder 0001
ICS1
2000 A Comparative Study of the NAS MG Benchmark across Parallel Languages and Architectures
abstract
Hierarchical algorithms such as multigrid applications form an important cornerstone for scientific computing. In this study, we take a first step toward evaluating parallel language support for hierarchical applications by comparing implementations of the NAS MG benchmark in several parallel programming languages: Co-Array Fortran, High Performance Fortran, Single Assignment C, and ZPL. We evaluate each language in terms of its portability, its performance, and its ability to express the algorithm clearly and concisely. Experimental platforms include the Cray T3E, IBM SP, SGI Origin, Sun Enterprise 5500, and a high-performance Linux cluster. Our findings indicate that while it is possible to achieve good portability, performance, and expressiveness, most languages currently fall short in at least one of these areas. We find a strong correlation between expressiveness and a language’s support for a global view of computation, and we identify key factors for achieving portable performance in multigrid applications.
Bradford L. Chamberlain, Steven J. Deitz, Lawrence Snyder 0001
SC2