[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1772070.1772078acmotherconferencesArticle/Chapter ViewAbstractPublication PagesplopConference Proceedingsconference-collections
research-article

SIMD: an additional pattern for PLPP (pattern language for parallel programming)

Published: 05 September 2007 Publication History

Abstract

Recent trends in hardware, such as IBM's Cell Broadband Engine and GPUs that can be used for general-purpose computing, have made widely available systems for which a SIMD (Single Instruction, Multiple Data) style of data-parallel programming is appropriate. This paper presents a pattern to help software developers construct parallel programs for environments that support this style of data parallelism. In this approach, the program is viewed as a single thread of control, with implicitly parallel updates to data. This pattern is a new addition to the Pattern Language for Parallel Programming (PLPP) presented in our previous work [18, 19].

References

[1]
Microsoft Accelerator. http://research.microsoft.com/research/downloads/Details/25e1bea3-142e-4694-bde5-f0d44f9d8709/Details.aspx?CategoryID.
[2]
F. Black and M. Scholes. The pricing of options and corporate liabilities. Journal of Political Economy, 81(3):637--654, 1973.
[3]
G. E. Blelloch. Prefix sums and their applications. In J. H. Reif, editor, Synthesis of Parallel Algorithms. Morgan Kaufmann, 1990.
[4]
Brook. http://graphics.stanford.edu/projects/brookgpu/.
[5]
M. J. Flynn. Some computer organizations and their effectiveness. IEEE Transactions on Computers, C-21(9), 1972.
[6]
W. D. Hillis. The Connection Machine. MIT Press, 1985.
[7]
W. D. Hillis and G. L. Steele, Jr. Data parallel algorithms. Communications of the ACM, 29(12):1170--1183, 1986.
[8]
High Performance Fortran Forum: High Performance Fortran Language specification, version 2.0. http://dacnet.rice.edu/Depts/CRPC/HPFF, 1997.
[9]
IBM Corporation. XL Fortran for AIX 8.1 language reference. http://www.ncsa.uiuc.edu/UserInfo/Resources/Hardware/IBMp690/IBM/usr/share/man/info/en_US/xlf/html/lr.HTM.
[10]
K. E. Iverson. A Programming Language. Wiley, 1962.
[11]
J. JáJá. An Introduction to Parallel Algorithms. Addison-Wesley, 1992.
[12]
B. L. Massingill, T. G. Mattson, and B. A. Sanders. Patterns for parallel application programs. In Proceedings of the Sixth Pattern Languages of Programs Workshop (PLoP 1999), August 1999.
[13]
B. L. Massingill, T. G. Mattson, and B. A. Sanders. Patterns for finding concurrency for parallel application programs. In Proceedings of the Seventh Pattern Languages of Programs Workshop (PLoP 2000), August 2000.
[14]
B. L. Massingill, T. G. Mattson, and B. A. Sanders. More patterns for parallel application programs. In Proceedings of the Eighth Pattern Languages of Programs Workshop (PLoP 2001), September 2001.
[15]
B. L. Massingill, T. G. Mattson, and B. A. Sanders. Some algorithm structure and support patterns for parallel application programs. In Proceedings of the Ninth Pattern Languages of Programs Workshop (PLoP 2002), September 2002.
[16]
B. L. Massingill, T. G. Mattson, and B. A. Sanders. Additional patterns for parallel application programs. In Proceedings of the Tenth Pattern Languages of Programs Workshop (PLoP 2003), September 2003.
[17]
B. L. Massingill, T. G. Mattson, and B. A. Sanders. Reengineering for parallelism: An entry point into PLPP (pattern language for parallel programming) for legacy applications. In Proceedings of the Twelfth Pattern Languages of Programs Workshop (PLoP 2005), September 2005.
[18]
B. L. Massingill, T. G. Mattson, and B. A. Sanders. Reengineering for parallelism: An entry point into PLPP (pattern language for parallel programming) for legacy applications. Concurrency and Computation: Practice and Experience, 19(4):503--529, 2007.
[19]
T. G. Mattson, B. A. Sanders, and B. L. Massingill. Patterns for Parallel Programming. Addison-Wesley, 2004. See also our Web site at http://www.cise.ufl.edu/research/ParallelPatterns.
[20]
M. Metcalf and J. K. Reid. Fortran 90/95 Explained. Oxford University Press, 1996.
[21]
NVIDIA CUDA (Compute Unified Device Architecture). http://developer.nvidia.com/object/cuda.html.
[22]
The PeakStream platform. http://www.peakstreaminc.com/.
[23]
The RapidMind platform. http://www.rapidmind.net/.
[24]
D. Tarditi, S. Puri, and J. Oglesby. Accelerator: Using data parallelism to program GPUs for general-purpose uses. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM Press, 2006.

Cited By

View all
  • (2015)SIMPLProceedings of the 2015 International Workshop on Software Engineering for High Performance Computing in Science10.5555/2821003.2821010(38-45)Online publication date: 16-May-2015
  • (2015)SIMPLProceedings of the 2015 IEEE/ACM 1st International Workshop on Software Engineering for High Performance Computing in Science10.1109/SE4HPCS.2015.13(38-45)Online publication date: 18-May-2015
  • (2015)Compilers for Low Power with Design Patterns on Embedded Multicore SystemsJournal of Signal Processing Systems10.1007/s11265-014-0917-980:3(277-293)Online publication date: 1-Sep-2015
  • 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
PLOP '07: Proceedings of the 14th Conference on Pattern Languages of Programs
September 2007
186 pages
ISBN:9781605584119
DOI:10.1145/1772070

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 September 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. SIMD (single instruction
  2. design patterns
  3. multiple data)
  4. parallel programming
  5. pattern language

Qualifiers

  • Research-article

Conference

PLOP '07
PLOP '07: Pattern Languages of Programs
September 5 - 8, 2007
Illinois, Monticello, USA

Acceptance Rates

Overall Acceptance Rate 28 of 36 submissions, 78%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)1
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2015)SIMPLProceedings of the 2015 International Workshop on Software Engineering for High Performance Computing in Science10.5555/2821003.2821010(38-45)Online publication date: 16-May-2015
  • (2015)SIMPLProceedings of the 2015 IEEE/ACM 1st International Workshop on Software Engineering for High Performance Computing in Science10.1109/SE4HPCS.2015.13(38-45)Online publication date: 18-May-2015
  • (2015)Compilers for Low Power with Design Patterns on Embedded Multicore SystemsJournal of Signal Processing Systems10.1007/s11265-014-0917-980:3(277-293)Online publication date: 1-Sep-2015
  • (2013)A pilot studyProceedings of the 1st International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering10.1145/2532352.2532355(17-20)Online publication date: 17-Nov-2013

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