Optimizing UPC programs for multi-core systems

  • Authors:
  • Yili Zheng

  • Affiliations:
  • Lawrence Berkeley National Laboratory, Berkeley, CA, USA. E-mail: yzheng@lbl.gov

  • Venue:
  • Scientific Programming - Exploring Languages for Expressing Medium to Massive On-Chip Parallelism
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Partitioned Global Address Space (PGAS) model of Unified Parallel C (UPC) can help users express and manage application data locality on non-uniform memory access (NUMA) multi-core shared-memory systems to get good performance. First, we describe several UPC program optimization techniques that are important to achieving good performance on NUMA multi-core computers with examples and quantitative performance results. Second, we use two numerical computing kernels, parallel matrix-matrix multiplication and parallel 3-D FFT, to demonstrate the end-to-end development and optimization for UPC applications. Our results show that the optimized UPC programs achieve very good and scalable performance on current multi-core systems and can even outperform vendor-optimized libraries in some cases.