Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2616498.2616558acmotherconferencesArticle/Chapter ViewAbstractPublication PagesxsedeConference Proceedingsconference-collections
research-article

A Tool for Interactive Parallelization

Published: 13 July 2014 Publication History

Abstract

"Tell me, I'll forget,
Show me, I may remember,
Involve me, I'll understand." - Confucius
This proverb describes the essence of our paper and the motivation behind the development of the Interactive Parallelization Tool (IPT) that can transform serial applications into multiple parallel variants. The end-users of IPT must have an understanding of the basic concepts involved in parallel programming (e.g., data distribution and data gathering). After developing an understanding of the basic parallel programming concepts, IPT can be used by its target audience (domain-experts and students) to semi-automatically generate parallel programs using multiple parallel programming paradigms (MPI, OpenMP, and CUDA), and learn about these paradigms through observation and comparison. This IPT-based personalized learning approach complements the traditional methods of learning and training that usually emphasize the syntax and semantics of one or more programming standards. The main benefit of IPT is that it provides a jumpstart to the domain-experts in using modern HPC platforms for their research and development needs, and hence lowers the adoption barriers to HPC.

References

[1]
Basili, V., Carver, J., Cruzes, D., Hochstein, L. M., Hollingsworth, J., Shull, F., and Zelkowitz, M. 2008. Understanding the High Performance Computing Community: A Software Engineer's Perspective. IEEE Software 25, 4. 29--36. DOI= 10.1109/MS.2008.103.
[2]
Joseph, E., Willard, C. G., Shaffer, D., Snell, A., Tichenor, S., Conway, S. 2005. Council on Competitiveness Study of ISVs Serving the High Performance Computing Market. Part A -- Current Market Dynamics. 1--59. Accessed on March 16th 2014: http://www.compete.org/images/uploads/File/PDF%20Files/ISV_Study_Part_A_2005.pdf
[3]
High Performance Computing Reveal. Council on Competitiveness and USC-ISI Broad Study of Desktop Technical Computing End Users and HPC. Accessed on 15th March 2014: http://www.compete.org/images/uploads/File/PDF%20Files/CoC_REVEAL_May19.pdf
[4]
Council of Competitiveness, accessed on March 16th 2014: http://www.compete.org/publications/idea/28/
[5]
TACC-BP Parallel Programming Contest Website, accessed on March 16th 2014:https://www.tacc.utexas.edu/tacc-bp-ppc
[6]
Gropp, W., Lusk, E., and Skjellum, A. 1999. Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press. 1--371.
[7]
The OpenMP API specification for parallel programming: accessed on March 10th 2013: http://openmp.org/wp/
[8]
What is CUDA, accessed on 18th March 2013: https://developer.nvidia.com/what-cuda
[9]
Cross, M., Ierotheou, C.S., Johnson, S.P. and Leggett, P.F. 1994. CAPTools --- semiautomatic parallelisation of mesh based computational mechanics codes. High-Performance Computing and Networking, 241--246.
[10]
Arora, R., Bangalore, P., and Mernik, M. 2012. Raising the level of abstraction for developing message passing applications. The Journal of Supercomputing. 59, 2, Springer US. 1079--1100.
[11]
Arora, R., Capetillo, E., Bangalore, P., and Mernik, M. 2013. A high-level framework for parallelizing legacy applications for multiple platforms. In Proceedings of the Conference on Extreme Science and Engineering Discovery Environment: Gateway to Discovery (XSEDE '13). ACM, New York, NY, USA, Article 58, 8 pages. DOI=10.1145/2484762.2484829
[12]
Czarnecki, K., and Eisenecker, U. 2002. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, ISBN-10: 0201309777. 1--832.
[13]
Mattson, T. G., Sanders, B. A., and Massingill, B. L. 2004. Patterns for Parallel Programming. Addison Wesley Professional, ISBN-10: 0321228111. 1--384.
[14]
ROSE homepage. Accessed on 10th March 2013: http://www.rosecompiler.org/
[15]
Quinn, M. 2004. Parallel programming in C with MPI and OpenMP. McGraw-Hill.
[16]
Vidale, J. E. 1990. Finite-difference calculation of traveltimes in three dimensions. Geophysics, 55(5), 521--526.
[17]
Hole, J. A. 1992. Nonlinear high-resolution three-dimensional seismic travel time tomography. Journal of Geophysical Research. 97(B95). 6553--6552.
[18]
Chung, T. J. 2010. Computational Fluid Dynamics. Cambridge University Press, 2nd edition. 1--1056.
[19]
Ritz, E., Mutlu, O., Pollard, D. D. 2012. Integrating complementarity into the 2D displacement discontinuity boundary element method to model faults and fractures with frictional contact properties. Computers & Geosciences, 45. 304--312.
[20]
Circuit Satisfiability Demo, accessed on March 24, 2014: http://www.youtube.com/watch?v=R1hyUGFvRBw
[21]
Seismic Tomography Demo, accessed on March 24, 2014: http://www.youtube.com/watch?v=tgo0CTFsR7E
[22]
Siu, S., Singh, A. 1997. Design Patterns for Parallel Computing Using a Network of Processors. International Symposium on High Performance Distributed Computing (HPDC'97). 293--304.
[23]
Goswami, D., Singh, A., Preiss, B. R. 2002. Building Parallel Applications using Design Patterns. Advances in Software Engineering: Topics in Comprehension, Evolution and Evaluation, Springer-Verlag. 243--265.
[24]
Rabhi, F. A., Cai, H., Tompsett. B. C. 2000. A Skeleton-Based Approach for the Design and Implementation of Distributed Virtual Environments. 5th International Symposium on Software Engineering for Parallel and Distributed Systems, IEEE Computer Society Press. 13--20.
[25]
Hall, M W., Harvey, T. J., Kennedy, K., McIntosh, N., McKinley, K. S., Oldham, J, Paleczny, M. H., and Roth, G. 1993. Experiences using the ParaScope Editor: an interactive parallel programming tool. SIGPLAN. 28(7). 33--43.
[26]
Intel Concurrent Collections for C/C++ in action. Accessed on March 10th 2014: http://software.intel.com/sites/default/files/m/1/e/3/4/4/42381-cnc_in_action.pdf.
[27]
Par4all, accessed on March 31, 2014: http://www.par4all.org/documentation.html#users-guide

Cited By

View all
  • (2021)Program transformations as the base for optimizing parallelizing compilersProgram Systems: Theory and ApplicationsПрограммные системы: теория и приложения10.25209/2079-3316-2021-12-1-21-11312:1(21-113)Online publication date: 2021
  • (2019)Semi-automatic Code Modernization for Optimal Parallel I/OSoftware Challenges to Exascale Computing10.1007/978-981-13-7729-7_10(140-154)Online publication date: 10-Apr-2019
  • (2018)An Analyzer for Program Parallelization and OptimizationProceedings of the 3rd International Conference on Applications in Information Technology10.1145/3274856.3274875(90-95)Online publication date: 1-Nov-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
XSEDE '14: Proceedings of the 2014 Annual Conference on Extreme Science and Engineering Discovery Environment
July 2014
445 pages
ISBN:9781450328937
DOI:10.1145/2616498
  • General Chair:
  • Scott Lathrop,
  • Program Chair:
  • Jay Alameda
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 the author(s) 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].

In-Cooperation

  • NSF: National Science Foundation
  • Drexel University
  • Indiana University: Indiana University

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. User-guided parallelization
  2. hybrid programming
  3. parallel programming
  4. personalized learning
  5. program transformation

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

XSEDE '14

Acceptance Rates

XSEDE '14 Paper Acceptance Rate 80 of 120 submissions, 67%;
Overall Acceptance Rate 129 of 190 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Program transformations as the base for optimizing parallelizing compilersProgram Systems: Theory and ApplicationsПрограммные системы: теория и приложения10.25209/2079-3316-2021-12-1-21-11312:1(21-113)Online publication date: 2021
  • (2019)Semi-automatic Code Modernization for Optimal Parallel I/OSoftware Challenges to Exascale Computing10.1007/978-981-13-7729-7_10(140-154)Online publication date: 10-Apr-2019
  • (2018)An Analyzer for Program Parallelization and OptimizationProceedings of the 3rd International Conference on Applications in Information Technology10.1145/3274856.3274875(90-95)Online publication date: 1-Nov-2018
  • (2018)Towards Developing a Repository of Logical Errors Observed in Parallel Code for Teaching Code Correctness2018 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC)10.1109/EduHPC.2018.00011(69-77)Online publication date: Nov-2018
  • (2017)Code Modernization Tools for Assisting Users in Migrating to Future Generations of SupercomputersSustained Simulation Performance 201710.1007/978-3-319-66896-3_4(55-73)Online publication date: 26-Aug-2017
  • (2015)Leveraging DiaGrid hub for interactively generating and running parallel programsProceedings of the 2015 XSEDE Conference: Scientific Advancements Enabled by Enhanced Cyberinfrastructure10.1145/2792745.2792789(1-8)Online publication date: 26-Jul-2015

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