Researchers in the Performance and Algorithms Group are currently engaged in a wide variety of projects including collaborations with computer architects and programming models researchers. Below is a subset of our active research projects and topics.
- Auto-tuning Automatic Performance Tuning or "Auto-tuning", is an empirical, feedback-driven performance optimization technique designed to maximize performance across a wide variety of architectures without sacrificing portability or productivity. Over the years, auto-tuning has expanded from simple loop tiling and unroll-and-jam to encompass transformations to data structures, parallelization, and algorithmic parameters. Perhaps the genesis of auto-tuning was PHiPAC (Portable High Performance ANSI C)…
- BeBOP (Berkeley Benchmarking and Optimization) The BeBOP group is broadly interested in understanding software performance tuning issues, and the interaction or implications for hardware design. Among our general interests include: (1) the interaction between application software, compilers, and hardware, (2), managing trade-offs among the various measures of performance, such as speed, accuracy, power, storage, ... (3) automating the performance tuning process, starting with the computational kernels which dominate application performance in scientific computing and information retrieval, (4) performance modeling and evaluation of future computer architectures
- EDGAR: Energy-efficient Data and Graph Algorithms Research This work is supported through a DOE Early Career award from the Office of Advanced Scientific Computing Research (ASCR) (Applied Mathematics) for the period of 2013-2018. Data are fundamental sources of insight for experimental and computational sciences. The Department of Energy acknowledges the challenges posed by fast-growing scientific data sets and more complex data. The graph abstraction provides a natural way to represent relationships among complex fast-growing scientific data…
- HipGISAXS HipGISAXS is a massively parallel software for analysis of X-ray scattering data for nanostructure reconstruction. We have developed it in C++, with hybrid parallelism using MPI, Nvidia CUDA, and OpenMP. It is primarily designed for large-scale clusters of multi/many-cores and graphics processors. HipGISAXS currently supports *NIX based systems, and is able to harness computational power from any general-purpose CPUs including state-of-the-art multicores, as well as Nvidia GPUs and Intel MIC coprocessors. HipGISAXS is able to handle large and custom structural morphologies, and perform X-ray scattering simulations at high resolutions. Please visit the HipGISAXS website for details.
- High Performance Geometric Multigrid High Performance Geometric Multigrid (HPGMG-FV) is a benchmark designed to proxy the finite volume based geometric multigrid linear solvers found in adaptive mesh refinement (AMR) based applications like the Low Mach Combustion Code (LMC). HPGMG-FV is being used to conduct computer science (e.g. Top500 benchmarking, programming models, compilers, performance optimization, and auto-tuners), computer architecture, and applied math research. HPGMG-FV solves variable-coefficient elliptic problems…
- Roofline Performance Model Roofline is a visually intuitive performance model used to bound the performance of various numerical methods and operations running on multicore, manycore, or accelerator processor architectures. Rather than simply using percent-of-peak estimates, the model can be used to assess the quality of attained performance by combining locality, bandwidth, and different parallelization paradigms into a single performance figure. One can examine the resultant Roofline figure in order to determine both…
- SciDAC Researchers from FTG are engaged in a number of activities in the Scientific Discovery through Advanced Computing (SciDAC) initiative. The SciDAC program was initiated in 2001 in order to develop the Scientific Computing Software and Hardware Infrastructure needed to advance scientific discovery using supercomputers. As supercomputers continuously evolve, direct engagement of computer scientists and applied mathematicians with the scientists of targeted application domains becomes ever…
- TOP500 TOP500 Supercomputing Sites The TOP500 project was started in 1993 to provide a reliable basis for tracking and detecting trends in high-performance computing. Twice a year, a list of the sites operating the 500 most powerful computer systems is assembled and released. The best performance on the Linpack benchmark is used as performance measure for ranking the computer systems. The list contains a variety of information including the system specifications and its major application…
Over the last 10 years, researchers in the Performance and Algorithms research group have led a number of research projects spanning performance optimization, performance modeling, co-design, supercomputer benchmarking, and application of novel algorithms.
- Auto-tuning Graphs, Sparse Linear Algebra, and Particle-in-Cell Codes for Exascale (X-Stack)
- X-Tune: Auto-tuning for Exascale
- CACHE Joint Math-CS Institute
- Combustion Co-Design
- TORCH Testbed
- Application Performance Characterization Benchmarking (APEX)
- Green Flash
- ULTRA Evaluation
- LDRD: Enhancing the Effectiveness of Manycore Chip Technologies for High-End Computing
- LDRD: Holistic Approach to Energy Efficient Computing Architecture
- LDRD: Reference Benchmarks for the Dwarfs
- Other Projects