skip to main content
10.1145/2245276.2232093acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
poster

Portable Parallel Programs using architecture-aware libraries

Published: 26 March 2012 Publication History

Abstract

Programs written for an architecture with n processors require a re-write when migrated to an m processor architecture {(m > n)} to benefit from additional resources. Compiler based solutions do not match manual optimizations. Annotation based and api-based solutions such as the OpenMP and the Intel Array Building Blocks work well with data parallel programs and do not scale well with branching programs. We present Portable Parallel Programming (TripleP), a parallel programming methodology that is composed of a declarative programming language, a set of libraries of data structures and algorithms optimized per architecture, and a synthesizer. We evaluated TripleP with the computation of array median, and breadth first traversal of a graph. Our results show that TripleP enables portable programs that benefit from additional resources across architectures with near optimal performance gains.

References

[1]
Intel manycore testing lab. http://software.intel.com/en-us/forums/intel-manycore-testing-lab.
[2]
Programming for parallelism and locality with hierarchically tiled arrays. ACM, 2006.
[3]
C. W. Antoine, A. Petitet, and J. J. Dongarra. Automated empirical optimization of software and the atlas project. Parallel Computing, 27: 2001, 2000.
[4]
B. Barney. POSIX Threads Programming, 2010.
[5]
N. Copty. Introducing OpenMP: A Portable, Parallel Programming API for Shared Memory Multiprocessors. Sun Studio Technical Articles, 2010.
[6]
T. H. Cormen, C. Stein, R. L. Rivest, and C. E. Leiserson. Introduction to Algorithms. McGraw-Hill Higher Education, 3rd edition, 2009.
[7]
A. G. et al. Array Building Blocks: A Flexible Parallel Programming Model for Multicore and Many-Core Architectures. Dr. Dobb's Journal, 2010.
[8]
M. P. et al. Spiral: A generator for platform-adapted libraries of signal processing algorithms. Journal of High Performance Computing and Applications, 18: 21--45, 2004.
[9]
M. Frigo and S. G. Johnson. Fftw: An adaptive software architecture for the fft. In ICASSP, pages 1381--1384. IEEE, 1998.
[10]
D. Luebke. CUDA: Scalable parallel programming for high-performance scientific computing. In Biomedical Imaging: From Nano to Macro. IEEE, 2008.
[11]
N. A. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers Inc., San Francisco, CA, 1997.
[12]
N/A. Metropolis: Design Environment for Heterogeneous Systems. http://embedded.eecs.berkeley.edu/metropolis/, 2004.
[13]
G. Ren, P. Wu, and D. Padua. An empirical study on the vectorization of multimedia applications for multimedia extensions. In International Parallel and Distributed Processing Symposium, volume 01 of IPDPS, pages 89.2-, Washington, DC, USA, 2005. IEEE Computer Society.
[14]
J. G. Siek, L.-Q. Lee, and A. Lumsdaine. The Boost Graph Library. Addison-Wesley Professional, Dec 2001.
[15]
J. Stone, D. Gohara, and G. Shi. OpenCL: A parallel programming standard for heterogeneous computing systems. Computing in Science & Engineering, 12: 66, 2010.
[16]
E. Trichina. Derivation of explicitly parallel code from declarative program by transformations. In Perspectives of System Informatics, volume 1181, pages 178--190. Springer Berlin/Heidelberg, 1996.
[17]
M. Wolfe. Parallelizing compilers. ACM Computing Surveys, 28: 261--262, March 1996.
[18]
C. Xavier and S. S. Iyengar. Introduction to parallel algorithms. John Wiley & Sons, Inc., New York, NY, USA, 1998.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '12: Proceedings of the 27th Annual ACM Symposium on Applied Computing
March 2012
2179 pages
ISBN:9781450308571
DOI:10.1145/2245276
  • Conference Chairs:
  • Sascha Ossowski,
  • Paola Lecca

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 March 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency
  2. declarative language
  3. intelligence
  4. software synthesis

Qualifiers

  • Poster

Conference

SAC 2012
Sponsor:
SAC 2012: ACM Symposium on Applied Computing
March 26 - 30, 2012
Trento, Italy

Acceptance Rates

SAC '12 Paper Acceptance Rate 270 of 1,056 submissions, 26%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 76
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media