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

Jacqueline Chame

dblp:44/4418 · DBLP profile ↗
← Back
15ranked-venue papers
3as first author
0since 2021 · last 2013
—ORCID · none

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

Systems, architecture and hardware · 14 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 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
4 papers
High-performance computing · 51% GPUs and heterogeneous computing · 24% Memory systems · 21%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

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

TopicWeightPapersLastEvidence papers
High-performance computing › performance optimization
auto-tuning
0.322013
A script-based autotuning compiler system to generate high-performance CUDA code · ACM Trans. Archit. Code Optim. 2013
Model-guided autotuning of high-productivity languages for petascale computing · HPDC 2009
Compilers and program optimization
code generation
0.212013
A script-based autotuning compiler system to generate high-performance CUDA code · ACM Trans. Archit. Code Optim. 2013
GPUs and heterogeneous computing
GPU computing
0.212013
A script-based autotuning compiler system to generate high-performance CUDA code · ACM Trans. Archit. Code Optim. 2013
High-performance computing
performance optimization
0.112009
Model-guided autotuning of high-productivity languages for petascale computing · HPDC 2009
Compilers and program optimization
compiler optimization
0.012013
A script-based autotuning compiler system to generate high-performance CUDA code · ACM Trans. Archit. Code Optim. 2013
Memory systems
data locality
0.012009
Model-guided autotuning of high-productivity languages for petascale computing · HPDC 2009
Memory systems
memory hierarchy
0.012009
Model-guided autotuning of high-productivity languages for petascale computing · HPDC 2009
Memory systems
memory bandwidth
0.011999
Mapping Irregular Applications to DIVA, a PIM-based Data-Intensive Architecture · SC 1999
Memory systems
processing-in-memory
0.011999
Mapping Irregular Applications to DIVA, a PIM-based Data-Intensive Architecture · SC 1999
Memory systems › memory interface
processor-memory interface
0.011999
Mapping Irregular Applications to DIVA, a PIM-based Data-Intensive Architecture · SC 1999
Memory systems
cache coherence
0.011993
Cache Inclusion and Processor Sampling in Multiprocessor Simulations · SIGMETRICS 1993
Memory systems › cache design
cache inclusion
0.011993
Cache Inclusion and Processor Sampling in Multiprocessor Simulations · SIGMETRICS 1993
Performance modeling and evaluation › simulation › parallel architecture simulation
multiprocessor simulation
0.011993
Cache Inclusion and Processor Sampling in Multiprocessor Simulations · SIGMETRICS 1993
Performance modeling and evaluation
simulation
0.011993
Cache Inclusion and Processor Sampling in Multiprocessor Simulations · SIGMETRICS 1993
Hardware accelerators and domain-specific architectures
irregular application acceleration
0.011999
Mapping Irregular Applications to DIVA, a PIM-based Data-Intensive Architecture · SC 1999
Processor architecture and microarchitecture
multicore design
0.011993
Cache Inclusion and Processor Sampling in Multiprocessor Simulations · SIGMETRICS 1993

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

empirical evaluation · 0.3auto-tuning · 0.3parcel-based communication · 0.0PIM-to-PIM interconnect · 0.0trace-driven simulation · 0.0sampling · 0.0
YearPublicationVenuePosition
2013 A script-based autotuning compiler system to generate high-performance CUDA code
abstract
This article presents a novel compiler framework for CUDA code generation. The compiler structure is designed to support autotuning , which employs empirical techniques to evaluate a set of alternative mappings of computation kernels and select the mapping that obtains the best performance. This article introduces a Transformation Strategy Generator , a meta-optimizer that generates a set of transformation recipes , which are descriptions of the mapping of the sequential code to parallel CUDA code. These recipes comprise a search space of possible implementations. This system achieves performance comparable and sometimes better than manually tuned libraries and exceeds the performance of a state-of-the-art GPU compiler.
Malik Muhammad Zaki Murtaza Khan, Protonu Basu, Gabe Rudy, Mary W. Hall, Chun Chen 0002, Jacqueline Chame
ACM Trans. Archit. Code Optim.6
2012 Hierarchical parallelization and optimization of high-order stencil computations on multicore clusters
Hikmet Dursun, Manaschai Kunaseth, Ken-ichi Nomura, Jacqueline Chame, Robert F. Lucas, Chun Chen 0002, Mary W. Hall, Rajiv K. Kalia, Aiichiro Nakano, Priya Vashishta
J. Supercomput.4
2010 Speeding up Nek5000 with autotuning and specialization
abstract
Autotuning technology has emerged recently as a systematic process for evaluating alternative implementations of a computation, in order to select the best-performing solution for a particular architecture. Specialization optimizes code customized to a particular class of input data set. In this paper, we demonstrate how compiler-based autotuning that incorporates specialization for expected data set sizes of key computations can be used to speed up Nek5000, a spectral-element code. Nek5000 makes heavy use of what are effectively Basic Linear Algebra Subroutine (BLAS) calls, but for very small matrices. Through autotuning and specialization, we can achieve significant performance gains over hand-tuned libraries (e.g., Goto, ATLAS, and ACML BLAS). Additional performance gains are obtained from using higher-level compiler optimizations that aggregate multiple BLAS calls. We demonstrate more than 2.2X performance gains on an Opteron over the original manually tuned implementation, and speedups of up to 1.26X on the entire application running on 256 nodes of the Cray XT5 Jaguar system at Oak Ridge.
Mary W. Hall, Jacqueline Chame, Chun Chen 0002, Paul F. Fischer, Paul D. Hovland
ICS3
2009 Model-guided autotuning of high-productivity languages for petascale computing
abstract
addresses the enormous complexity of mapping applications to current and future highly parallel platforms - including scalable architectures consisting of tens of thousands of nodes, many-core devices with tens to hundreds of cores, and hierarchical systems providing multi-level parallelism. At systems of these scales, for many important algorithms, performance is dominated by the time required to move data across the levels of the memory hierarchy. As a consequence, locality awareness of algorithms and the efficient management of communication are essential requirements for obtaining scalable parallel performance, and are of particular concern for applications characterized by irregular memory access patterns. We describe the design of a programming system that focuses on productivity of application programmers in expressing locality-aware algorithms for high-end architectures, which are then automatically tuned for performance. The approach combines the successes of two novel concepts for managing locality: high-level specification of user-defined data distributions and model-guided autotuning for data locality. The resulting combined system provides a powerful general mechanism for the specification of data distributions, which can express domain-specific knowledge, and facilitates automatic tuning of a distribution to access patterns in algorithms and its application to different levels of a memory hierarchy. Because there is a clean separation between the specification of a data distribution and the algorithms in which it is used, these can be written separately and composed together to quickly develop new applications that can be tuned in the context of their data set and execution environment. We address key issues for a range of codes that include LU Decomposition, Sparse Matrix-Vector Multiply and Knowledge Discovery. The knowledge discovery algorithms, in particular, stress the proposed language and compiler technology and provide a forcing function for developing tools that address inherent challenges of irregular applications.}
Hans P. Zima, Mary W. Hall, Chun Chen 0002, Jacqueline Chame
HPDC4
2009 A scalable auto-tuning framework for compiler optimization
abstract
We describe a scalable and general-purpose framework for auto-tuning compiler-generated code. We combine Active Harmony's parallel search backend with the CHiLL compiler transformation framework to generate in parallel a set of alternative implementations of computation kernels and automatically select the one with the best-performing implementation. The resulting system achieves performance of compiler-generated code comparable to the fully automated version of the ATLAS library for the tested kernels. Performance for various kernels is 1.4 to 3.6 times faster than the native Intel compiler without search. Our search algorithm simultaneously evaluates different combinations of compiler optimizations and converges to solutions in only a few tens of search-steps.
Ananta Tiwari, Chun Chen 0002, Jacqueline Chame, Mary W. Hall, Jeffrey K. Hollingsworth
IPDPS3
2007 Intelligent Optimization of Parallel and Distributed Applications
abstract
This paper describes a new project that systematically addresses the enormous complexity of mapping applications to current and future parallel platforms. By integrating the system layers - domain-specific environment, application program, compiler, run-time environment, performance models and simulation, and workflow manager - and through a systematic strategy for application mapping, our approach exploit the vast machine resources available in such parallel platforms to dramatically increase the productivity of application programmers. This project brings together computer scientists in the areas represented by the system layers (i.e., language extensions, compilers, run-time systems, workflows) together with expertise in knowledge representation and machine learning. With expert domain scientists in molecular dynamics (MD) simulation, we are developing our approach in the context of a specific application class which already targets environments consisting of several hundreds of processors. In this way, we gain valuable insight into a generalizable strategy, while simultaneously producing performance benefits for existing and important applications.
Bhupesh Bansal, Ümit V. Çatalyürek, Jacqueline Chame, Chun Chen 0002, Ewa Deelman, Yolanda Gil, Mary W. Hall, Vijay S. Kumar, Tahsin M. Kurç, Kristina Lerman, Aiichiro Nakano, Yoon-Ju Lee Nelson, Joel H. Saltz, Ashish Sharma 0001, Priya Vashishta
IPDPS3
2007 Model-Guided Empirical Optimization for Multimedia Extension Architectures: A Case Study
abstract
Compiler technology for multimedia extensions must effectively utilize not only the SIMD compute engines but also the various levels of the memory hierarchy: superword registers, multi-level caches and TLB. In this paper, we describe a compiler that combines optimization across all levels of the memory hierarchy with automatic generation of SIMD code for multimedia extensions. At the high-level, model-guided empirical optimization is used to transform code to optimize for all levels of the memory hierarchy. This compiler interacts with a backend compiler exploiting superword-level parallelism that takes sequential code as input and produces SIMD code. This paper discusses how we have combined these technologies into a single framework. Through a case study with matrix multiply, we observe performance results that outperform the hand-tuned Intel MKL library, and achieve performance that is within 4% of the ATLAS self-tuning library with architectural defaults and more than 4X faster than the native Intel compiler.
Chun Chen 0002, Shiva Kintali, Jacqueline Chame, Mary W. Hall
IPDPS4
2006 Processing-in-memory technology for knowledge discovery algorithms
abstract
The goal of this work is to gain insight into whether processingin-memory (PIM) technology can be used to accelerate the performance of link discovery algorithms, which represent an important class of emerging knowledge discovery techniques. PIM chips that integrate processor logic into memory devices offer a new opportunity for bridging the growing gap between processor and memory speeds, especially for applications with high memory-bandwidth requirements. As LD algorithms are data-intensive and highly parallel, involving read-only queries over large data sets, parallel computing power extremely close (physically) to the data has the potential of providing dramatic computing speedups. For this reason, we evaluated the mapping of LD algorithms to a processing-in-memory (PIM) workstationclass architecture, the DIVA / Godiva hardware testbeds developed by USC/ISI. Accounting for differences in clock speed and data scaling, our analysis shows a performance gain on a single PIM, with the potential for greater improvement when multiple PIMs are used. Measured speedups of 8x are shown on two additional bandwidth benchmarks, even though the Itanium-2 has a clock rate 6X faster. 1.
Jafar Adibi, Tim Barrett, Spundun Bhatt, Hans Chalupsky, Jacqueline Chame, Mary W. Hall
DaMoN5
2006 An overview of the ECO project
abstract
In this paper, we describe a compilation system that automates much of the process of performance tuning that is currently done manually by application programmers interested in high performance. Our approach combines compiler models and heuristics with guided empirical search to take advantage of their complementary strengths. The models and heuristics limit the search to a small number of candidate implementations, and the empirical results provide the most accurate information to the compiler to select among candidates and tune optimization parameter values. The overall approach can be employed to alleviate some of the performance problems that lead to inefficiencies in key applications today: register pressure, cache conflict misses, and the trade-off between synchronization, parallelism and locality in SMPs. The main focus of the paper is an algorithm for simultaneously optimizing across multiple levels of the memory hierarchy for dense-matrix computations. We have developed an initial compiler implementation, and present automatically-generated results on matrix multiply. Results on two architectures, SGI R10000 and Sun UltraSparc IIe, outperform the native compiler, and either outperform or achieve comparable performance as the ATLAS self-tuning library and the hand-tuned vendor BLAS library. This paper describes other components of the ECO system, including supporting tools and experiments with programmer-guided performance tuning. This approach has provided a foundation for a general framework for systematic optimization of domain-specific applications. Specifically, we are developing an optimization system for signal and image processing that exploits signal properties, and we are using machine learning and a knowledge-rich representation can be exploited to optimize molecular dynamics simulation
Jacqueline Chame, Chun Chen 0002, Pedro C. Diniz, Mary W. Hall, Yoon-Ju Lee, Robert F. Lucas
IPDPS1
2005 Combining Models and Guided Empirical Search to Optimize for Multiple Levels of the Memory Hierarchy
abstract
This paper describes an algorithm for simultaneously optimizing across multiple levels of the memory hierarchy for dense-matrix computations. Our approach combines compiler models and heuristics with guided empirical search to take advantage of their complementary strengths. The models and heuristics limit the search to a small number of candidate implementations, and the empirical results provide the most accurate information to the compiler to select among candidates and tune optimization parameter values. We have developed an initial implementation and applied this approach to two case studies, matrix multiply and Jacobi relaxation. For matrix multiply, our results on two architectures, SGI R10000 and Sun UltraSparc IIe, outperform the native compiler, and either outperform or achieve comparable performance as the ATLAS self-tuning library and the hand-tuned vendor BLAS library. Jacobi results also substantially outperform the native compilers.
Chun Chen 0002, Jacqueline Chame, Mary W. Hall
CGO2
2005 Superword-Level Parallelism in the Presence of Control Flow
abstract
In this paper, we describe how to extend the concept of superword-level parallelization (SLP), used for multimedia extension architectures, so that it can be applied in the presence of control flow constructs. Superword-level parallelization involves identifying scalar instructions in a large basic block that perform the same operation, and, if dependences do not prevent it, combining them into a superword operation on a multi-word object. A key insight is that we can use techniques related to optimizations for architectures supporting predicated execution, even for multimedia ISAs that do not provide hardware predication. We derive large basic blocks with predicated instructions to which SLP can be applied. We describe how to minimize overheads for superword predicates and re-introduce control flow for scalar operations. We discuss other extensions to SLP to address common features of real multimedia codes. We present automatically-generated performance results on 8 multimedia codes to demonstrate the power of this approach. We observe speedups ranging from 1.97X to 15.07X as compared to both sequential execution and SLP alone.
Mary W. Hall, Jacqueline Chame
CGO3
2002 The architecture of the DIVA processing-in-memory chip
abstract
The DIVA (Data IntensiVe Architecture) system incorporates a collection of Processing-In-Memory (PIM) chips as smart-memory co-processors to a conventional microprocessor. We have recently fabricated prototype DIVA PIMs. These chips represent the first smart-memory devices designed to support virtual addressing and capable of executing multiple threads of control. In this paper, we describe the prototype PIM architecture. We emphasize three unique features of DIVA PIMs, namely, the memory interface to the host processor, the 256-bit wide datapaths for exploiting on-chip bandwidth, and the address translation unit. We present detailed simulation results on eight benchmark applications. When just a single PIM chip is used, we achieve an average speedup of 3.3X over host-only execution, due to lower memory stall times and increased fine-grain parallelism. These 1-PIM results suggest that a PIM-based architecture with many such chips yields significantly higher performance than a multiprocessor of a similar scale and at a much reduced hardware cost.
Jeffrey T. Draper, Jacqueline Chame, Mary W. Hall, Craig S. Steele, Tim Barrett, Jeff LaCoss, John J. Granacki, Chun Chen 0002, Chang Woo Kang, Ihn Kim Gokhan
ICS2
1999 A tile selection algorithm for data locality and cache interference
abstract
Loop tiling is a well-known compiler transformation that increases data locality, exposes parallelism and reduces synchronization costs.Tiling increases the amount of data reuse that can be exploited by reordering the loop iterations so that accesses to the same data are closer together in time.However, tiled loops often suffer from cache interference in the direct-mapped or low-associativity caches typically found in state-of-the-art microprocessors.A solution to this problem is to choose a tile size that does not exhibit self interference.In this paper, we propose a new tile selection algorithm for eliminating self interference and simultaneously minimizing capacity and cross-interference misses.We have automated the algorithm in the SUIF compiler and used it to generate tiles for a range of problem sizes for three scientific computations.Our experimental results show that the algorithm consistently finds tiles that yield lower miss rates than existing tile selection algorithms.
Jacqueline Chame, Sungdo Moon
International Conference on Supercomputing1
1999 Mapping Irregular Applications to DIVA, a PIM-based Data-Intensive Architecture
abstract
Processing-in-memory (PIM) chips that integrate processor logic into memory devices offer a new opportunity for bridging the growing gap between processor and memory speeds, especially for applications with high memory-bandwidth requirements.The Data-IntensiVe Architecture (DIVA) system combines PIM memories with one or more external host processors and a PIM-to-PIM interconnect.DIVA increases memory bandwidth through two mechanisms: (1) performing selected computation in memory, reducing the quantity of data transferred across the processor-memory interface; and (2) providing communication mechanisms called parcels for moving both data and computation throughout memory, further bypassing the processor-memory bus.DIVA uniquely supports acceleration of important irregular applications, including sparse-matrix and pointer-based computations.In this paper, we focus on several aspects of DIVA designed to effectively support such computations at very high performance levels: (1) the memory model and parcel definitions; (2) the PIM-to-PIM interconnect; and, (3) requirements for the processor-to-memory interface.We demonstrate the potential of PIMbased architectures in accelerating the performance of three irregular computations, sparse conjugate gradient, a natural-join database operation and an object-oriented database query.
Mary W. Hall, Peter M. Kogge, Jefferey G. Koller, Pedro C. Diniz, Jacqueline Chame, Jeffrey T. Draper, Jeff LaCoss, John J. Granacki, Jay B. Brockman, Apoorv Srivastava, William C. Athas, Vincent W. Freeh, Joonseok Park
SC5
1993 Cache Inclusion and Processor Sampling in Multiprocessor Simulations
abstract
The evaluation of cache-based systems demands careful simulations of entire benchmarks. Simulation efficiency is essential to realistic evaluations. For systems with large caches and large number of processors, simulation is often too slow to be practical. In particular, the optimized design of a cache for a multiprocessor is very complex with current techniques.This paper addresses these problems. First we introduce necessary and sufficient conditions for cache inclusion in systems with invalidations. Second, under cache inclusion, we show that an accurate trace for a given processor or for a cluster of processors can be extracted from a multiprocessor trace. With this methodology, possible cache architectures for a processor or for a cluster of processors are evaluated independently of the rest of the system, resulting in a drastic reduction of the trace length and simulation complexity. Moreover, many important system-wide metrics can be estimated with good accuracy by extracting the traces of a set of randomly selected processors, an approach we call processor sampling. We demonstrate the accuracy and efficiency of these techniques by applying them to three 64-processor traces.
Jacqueline Chame, Michel Dubois 0001
SIGMETRICS1