skip to main content
10.1145/2020373.2020381acmotherconferencesArticle/Chapter ViewAbstractPublication PagespgasConference Proceedingsconference-collections
research-article

Improving UPC productivity via integrated development tools

Published: 12 October 2010 Publication History

Abstract

In the world of high-performance computing (HPC), there has been an increased focus in recent years upon the importance of productivity in HPC application development. One crucial aspect of productivity is the programming model used, and the family of partitioned global-address-space (PGAS) models, such as UPC and X10, has served to advance the state of the art in balancing performance and productivity. Also of great importance is the variety of development tools used to support activities such as editing, debugging, and optimizing programs. These tools are often most useful as part of an integrated development environment (IDE). While some progress has been made towards bringing IDE capabilities into the HPC world, in particular by way of Eclipse projects, support has mainly focused on MPI and OpenMP tools.
In this paper, we present research and development activities that are bringing Eclipse-based IDE capabilities to the PGAS developer community. We focus on tools for UPC, giving background on previously existing capabilities to work with UPC programs in Eclipse and then presenting a tool-chain and project wizard for the open-source Berkeley UPC compiler, basic UPC static analysis tools, and integration of our performance analysis tool (Parallel Performance Wizard) supporting UPC. Finally, we conclude by proposing future work and providing recommendations for further integration of UPC and other PGAS tools to enhance overall developer productivity.

References

[1]
MPI: A Message Passing Interface Standard, http://www.mpiforum.org, June 1995.
[2]
R. Chandra, R. Menon, L. Dagum, D. Kohr, D. Maydan, and J. McDonald, Parallel Programming in OpenMP, Morgan Kaufmann, 2000.
[3]
The UPC Consortium, UPC Language Specification v1.2, http://www.gwu.edu/~upc/docs/upc_specs_1.2.pdf, 2005.
[4]
K. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken, Titanium: A High-Performance Java Dialect, Concurrency: Practice and Experience, vol. 10, pp. 825836, 1998.
[5]
The X10 Programming Language, http://x10-lang.org.
[6]
The Chapel Parallel Programming Language, http://chapel.cray.com.
[7]
HPCS - High Productivity Computer Systems, http://www.highproductivity.org.
[8]
K. Kennedy, C. Koelbel, and R. Schreiber, Defining and Measuring the Productivity of Programming Languages, International Journal of High-Performance Computing Applications, vol. 18, pp. 441--448, 2004.
[9]
C. Danis, J. Thomas, J. Richards, J. Brezin, C. Swart, C. Halverson, R. Bellamy, and P. Malkin, Towards Applying Complexity Metrics to Measure Programmer Productivity in High Performance Computing, Proceedings of the 2008 International Conference on Software Engineering (ICSE), Workshop on SE for Computational Science and Engineering, Leipzig, Germany, May 13, 2008.
[10]
Eclipse - An Open Development Platform, http://www.eclipse.org.
[11]
The Eclipse Foundation, http://www.eclipse.org/org.
[12]
Eclipse C/C++ Development Tooling, http://www.eclipse.org/cdt.
[13]
PTP - Eclipse Parallel Tools Platform, http://www.eclipse.org/ptp.
[14]
G. Watson, C. Rasmussen, and B. Tibbitts, An Integrated Approach to Improving the Parallel Application Development Process, Proceedings of the 2009 IEEE international Symposium on Parallel & Distributed Processing, May 23--29, 2009.
[15]
Berkeley Unified Parallel C (UPC) Project, http://upc.lbl.gov.
[16]
H. Su, M. Billingsley, and A. D. George, Parallel Performance Wizard: A Performance System for the Analysis of Partitioned Global-Address-Space Applications, International Journal of High-Performance Computing Applications, accepted and in press.
[17]
A. Jacobs, G. Cieslewski, C. Reardon, and A. D. George, Multiparadigm Computing for Space-Based Synthetic Aperture Radar, Proc. of 2008 International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), Las Vegas, NV, July 14-17, 2008.
[18]
IBM xlUPC Compiler, http://www.alphaworks.ibm.com/tech/upccompiler
[19]
Debugging Berkeley UPC applications, http://upc.lbl.gov/docs/user/upc-debugging.shtml

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PGAS '10: Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model
October 2010
134 pages
ISBN:9781450304610
DOI:10.1145/2020373
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 October 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Eclipse
  2. UPC
  3. partitioned global address space

Qualifiers

  • Research-article

Funding Sources

Conference

PGAS '10

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media