The University of Florida 
High-performance Computing & Simulation Research Lab
home > project > upc

UPC Activities at the University of Florida

Researchers in the HCS Lab are highly active on work in performance analysis and optimization of high-performance computing with Unified Parallel C (UPC). UPC is a promising programming model for global-address-space (GAS) parallel computing on shared- and distributed-memory system architectures. An extension to the C programming language, UPC provides a single address space for applications running on multiple processors and orchestrated with a single-program multiple-data (SPMD) style of parallel computing. The UPC group in the lab is the focal point for UPC research at the University of Florida.

PPW: Parallel Performance Wizard

Since Fall 2004, the HCS Lab's primary emphasis of research with UPC is the investigation of key concepts and the development of a comprehensive suite of new research tools that directly support the performance analysis and optimization of global-address-space programs (UPC and SHMEM programs in particular) on complex HPC architectures and systems. This effort includes the study of existing and emerging performance analysis theory and tools, current and future HPC architectures, usability and user productivity preferences and methods, and the UPC and SHMEM programming models. The results of our in-depth investigation featured in the first year of this project have been used as a basis for an initial implementation of a performance tool nicknamed Parallel Performance Wizard, which has just recently reached a public beta state.

For more information on the Parallel Performance Wizard tool (including links to download the tool), please visit the PPW website here.

GASP: A Global Address Space Address Performance Analysis Tool Interface

The global address space (GAS) programming model provides important potential productivity advantages over traditional parallel programming models. Languages using the GAS model currently have insufficient support from existing performance analysis tools, due in part to their implementation complexity. We have designed the Global Address Space Performance (GASP) tool interface that is flexible enough to support instrumentation of any GAS programming model implementation, while simultaneously allowing existing performance analysis tools to leverage their tool's infrastructure and quickly add support for programming languages and libraries using the GAS model.

For more information on the GASP tool interface (including a copy of the current specification), please visit the GASP website here.

Performance Tool Evaluations

In preparation for developing the Parallel Performance Wizard tool, we conducted an extensive evaluation of available parallel performance tools. While many of the tools have been updated and improved since the tool evaluations took place (Spring 2005), most of our observations about each tool are still relevant. However, be sure to check each tool's website for any recent developments that our evaluation might not cover.

As a service to other researchers and users, we have made the results of our performance tool evaluation available. For the results of our evaluations, please visit the tool evaluations website here, or refer to the summary report.

Cryptanalysis Benchmarks

Implementations of message-passing models such as MPI leave the responsibility of handling low-level communication to the programmer. For complex problems such as cryptanalysis, the burden of dealing with these communication details adds much complexity to program development. This extra burden raises the need for a programming language that abstracts the programmer from the underlying communication mechanisms. In this report we look at the performance of a simulated cryptanalysis problem called the Differential Attack Simulator written in UPC on the ES80 CC-NUMA architecture from HP/Compaq. A copy of the UPC version of the cryptanalysis benchmark described in the report is available here.


For a complete list of all the UPC-related publications of the HCS lab, visit the UPC group's publication page here.

Archived Documents

All other UPC-related documents (including slides used during the UPC Workshops and old progress reports) can be found at the archived documents page.

Related Links