skip to main content
Skip header Section
Patterns for parallel programmingSeptember 2004
Publisher:
  • Addison-Wesley Professional
ISBN:978-0-321-22811-6
Published:15 September 2004
Pages:
384
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

The Parallel Programming Guide for Every Software DeveloperFrom grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software.That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer "think parallel"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world. Coverage includes: Understanding the parallel computing landscape and the challenges faced by parallel developers Finding the concurrency in a software design problem and decomposing it into concurrent tasks Managing the use of data across tasks Creating an algorithm structure that effectively exploits the concurrency you've identified Connecting your algorithmic structures to the APIs needed to implement them Specific software constructs for implementing parallel programs Working with today's leading parallel programming environments: OpenMP, MPI, and JavaPatterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.0321228111B08232004

Cited By

  1. Richardson B, Rouson D, Snyder H and Singleterry R (2024). Scheduling and Performance of Asynchronous Tasks in Fortran 2018 with FEATS, SN Computer Science, 5:4, Online publication date: 28-Mar-2024.
  2. ACM
    Faé L, Hoffman R and Griebler D Source-to-Source Code Transformation on Rust for High-Level Stream Parallelism Proceedings of the XXVII Brazilian Symposium on Programming Languages, (41-49)
  3. Ozturk Z, Topcuoglu H and Kandemir M (2023). Quantifying the impact of data replication on error propagation, Cluster Computing, 26:3, (1985-1999), Online publication date: 1-Jun-2023.
  4. Medvedev A (2022). IMB-ASYNC: a revised method and benchmark to estimate MPI-3 asynchronous progress efficiency, Cluster Computing, 25:4, (2683-2697), Online publication date: 1-Aug-2022.
  5. Hoffmann R, Löff J, Griebler D and Fernandes L (2022). OpenMP as runtime for providing high-level stream parallelism on multi-cores, The Journal of Supercomputing, 78:6, (7655-7676), Online publication date: 1-Apr-2022.
  6. Martínez M, Fraguela B and Cabaleiro J (2021). A Parallel Skeleton for Divide-and-conquer Unbalanced and Deep Problems, International Journal of Parallel Programming, 49:6, (820-845), Online publication date: 1-Dec-2021.
  7. Adams J (2021). Evolving PDC curriculum and tools, Journal of Parallel and Distributed Computing, 157:C, (201-219), Online publication date: 1-Nov-2021.
  8. Solórzano A and Charão A BlocklyPar: from sequential to parallel with block-based visual programming 2021 IEEE Frontiers in Education Conference (FIE), (1-8)
  9. Quintero-Monsebaiz R, Meneses-Viveros A, Carranza F, Cortés C, González-Zamudio A and Vela A (2021). Multidimensional adaptative and deterministic integration in CUDA and OpenMP, The Journal of Supercomputing, 77:10, (12075-12097), Online publication date: 1-Oct-2021.
  10. ACM
    Lozano R, Cole M and Franke B Modernizing parallel code with pattern analysis Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, (418-430)
  11. Usamentiaga R (2021). Real-time filtering on parallel SIMD architectures for automated quality inspection, Journal of Real-Time Image Processing, 18:1, (127-141), Online publication date: 1-Feb-2021.
  12. Yarahmadi H and Hasheminejad S (2020). Design pattern detection approaches: a systematic review of the literature, Artificial Intelligence Review, 53:8, (5789-5846), Online publication date: 1-Dec-2020.
  13. Hähnle R, Heydari Tabar A, Mazaheri A, Norouzi M, Steinhöfel D and Wolf F Safer Parallelization Leveraging Applications of Formal Methods, Verification and Validation: Engineering Principles, (117-137)
  14. ACM
    Hoffmann R, Griebler D, Danelutto M and Fernandes L Stream Parallelism Annotations for Multi-Core Frameworks Proceedings of the 24th Brazilian Symposium on Context-Oriented Programming and Advanced Modularity, (48-55)
  15. ACM
    Rosenbauer L, Stein A and Hähner J Generic approaches for parallel rule matching in learning classifier systems Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion, (1789-1797)
  16. ACM
    Idreos S and Callaghan M Key-Value Storage Engines Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, (2667-2672)
  17. Di Martino B, Esposito A, D'Angelo S, Maisto S and Nacchia S (2019). A Compiler for Agnostic Programming and Deployment of Big Data Analytics on Multiple Platforms, IEEE Transactions on Parallel and Distributed Systems, 30:9, (1920-1931), Online publication date: 1-Sep-2019.
  18. ACM
    Jahić J, Ali K, Chatrangoon M and Jahani N (Dis)Advantages of Lock-free Synchronization Mechanisms for Multicore Embedded Systems Workshop Proceedings of the 48th International Conference on Parallel Processing, (1-8)
  19. ACM
    Brock B, Buluç A and Yelick K BCL Proceedings of the 48th International Conference on Parallel Processing, (1-10)
  20. Gazzarri L and Danelutto M (2019). Supporting structured parallel program design, development and tuning in FastFlow , The Journal of Supercomputing, 75:8, (4026-4041), Online publication date: 1-Aug-2019.
  21. Wu S, Dong X, Zhang X and Zhu Z (2019). NoT, The Journal of Supercomputing, 75:7, (3810-3841), Online publication date: 1-Jul-2019.
  22. ACM
    Norouzi M, Wolf F and Jannesari A Automatic construct selection and variable classification in OpenMP Proceedings of the ACM International Conference on Supercomputing, (330-341)
  23. ACM
    Idreos S and Kraska T From Auto-tuning One Size Fits All to Self-designed and Learned Data-intensive Systems Proceedings of the 2019 International Conference on Management of Data, (2054-2059)
  24. ACM
    Hammond J and Mattson T Evaluating data parallelism in C++ using the Parallel Research Kernels Proceedings of the International Workshop on OpenCL, (1-6)
  25. Griebler D, Hoffmann R, Danelutto M and Fernandes L (2019). High-Level and Productive Stream Parallelism for Dedup, Ferret, and Bzip2, International Journal of Parallel Programming, 47:2, (253-271), Online publication date: 1-Apr-2019.
  26. Danelutto M, De Matteis T, De Sensi D, Mencagli G, Torquati M, Aldinucci M and Kilpatrick P (2019). The RePhrase Extended Pattern Set for Data Intensive Parallel Computing, International Journal of Parallel Programming, 47:1, (74-93), Online publication date: 1-Feb-2019.
  27. Ganellari D, Haase G and Zumbusch G (2018). A massively parallel Eikonal solver on unstructured meshes, Computing and Visualization in Science, 19:5-6, (3-18), Online publication date: 1-Dec-2018.
  28. del Rio Astorga D, Dolz M, Sánchez L, García J, Danelutto M and Torquati M (2018). Finding parallel patterns through static analysis in C++ applications, International Journal of High Performance Computing Applications, 32:6, (779-788), Online publication date: 1-Nov-2018.
  29. Danelutto M, Kilpatrick P, Mencagli G and Torquati M (2018). State access patterns in stream parallel computations, International Journal of High Performance Computing Applications, 32:6, (807-818), Online publication date: 1-Nov-2018.
  30. Danelutto M, Matteis T, Mencagli G and Torquati M (2018). Data stream processing via code annotations, The Journal of Supercomputing, 74:11, (5659-5673), Online publication date: 1-Nov-2018.
  31. Tolosana-Calasanz R, Bañares J and Colom J (2018). Model-driven development of data intensive applications over cloud resources, Future Generation Computer Systems, 87:C, (888-909), Online publication date: 1-Oct-2018.
  32. Bianchi F, Margara A and Pezze M (2018). A Survey of Recent Trends in Testing Concurrent Software Systems, IEEE Transactions on Software Engineering, 44:8, (747-783), Online publication date: 1-Aug-2018.
  33. Chaudhury B, Varma A, Keswani Y, Bhatnagar Y and Parikh S (2018). Let’s HPC, Journal of Parallel and Distributed Computing, 118:P1, (213-232), Online publication date: 1-Aug-2018.
  34. Adams J, Crain P, Dilley C, Hazlett C, Koning E, Nelesen S, Unger J and Stel M (2018). TSGL, Journal of Parallel and Distributed Computing, 118:P1, (233-246), Online publication date: 1-Aug-2018.
  35. ACM
    Alves F, Jamieson P, Bragança L, Ferreira R and Nacif J Lessons learned on which applications benefit when implemented on CPU-FPGA heterogeneous system Proceedings of the 18th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, (150-156)
  36. ACM
    Dobaj J, Iber J, Krisper M and Kreiner C A Microservice Architecture for the Industrial Internet-Of-Things Proceedings of the 23rd European Conference on Pattern Languages of Programs, (1-15)
  37. ACM
    van Wagensveld R, Wägemann T, Hehenkamp N, Kolagari R, Margull U and Mader R Intra-Task Parallelism in Automotive Real-Time Systems Proceedings of the 9th International Workshop on Programming Models and Applications for Multicores and Manycores, (61-70)
  38. ACM
    De Sensi D, De Matteis T, Torquati M, Mencagli G and Danelutto M (2017). Bringing Parallel Patterns Out of the Corner, ACM Transactions on Architecture and Code Optimization, 14:4, (1-26), Online publication date: 31-Dec-2018.
  39. Hukerikar and Engelmann (2017). Resilience Design Patterns, Supercomputing Frontiers and Innovations: an International Journal, 4:3, (4-42), Online publication date: 15-Sep-2017.
  40. González C and Fraguela B (2017). A general and efficient divide-and-conquer algorithm framework for multi-core clusters, Cluster Computing, 20:3, (2605-2626), Online publication date: 1-Sep-2017.
  41. ACM
    Goldstein M, Dayan D, Rabin M, Berlowitz D, Berlowitz O and Yehezkael R Design principles of an embedded language (EFL) enabling well defined order-independent execution Proceedings of the Fifth European Conference on the Engineering of Computer-Based Systems, (1-8)
  42. ACM
    Gardner W Should We Be Teaching Parallel Programming? Proceedings of the 22nd Western Canadian Conference on Computing Education, (1-7)
  43. ACM
    Mangels T, Murarasu A, Oden F, Fishkin A and Becker D Efficient Analysis at Edge Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion, (85-90)
  44. ACM
    Danelutto M, De Matteis T, De Sensi D, Mencagli G and Torquati M P3ARSEC Proceedings of the Symposium on Applied Computing, (1582-1589)
  45. Sen A, Deniz E and Kahne B MINIME-validator Proceedings of the Conference on Design, Automation & Test in Europe, (386-391)
  46. Fabien-Ouellet G, Gloaguen E and Giroux B (2017). Time-domain seismic modeling in viscoelastic media for full waveform inversion on heterogeneous computing platforms with OpenCL, Computers & Geosciences, 100:C, (142-155), Online publication date: 1-Mar-2017.
  47. Donato D (2017). Simple, efficient allocation of modelling runs on heterogeneous clusters with MPI, Environmental Modelling & Software, 88:C, (48-57), Online publication date: 1-Feb-2017.
  48. Feilhauer T and Sobotka M (2016). DEF - a programming language agnostic framework and execution environment for the parallel execution of library routines, Journal of Cloud Computing: Advances, Systems and Applications, 5:1, (1-17), Online publication date: 1-Dec-2016.
  49. Wienke S, Miller J, Schulz M and Müller M Development effort estimation in HPC Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (1-12)
  50. Ergin H, Syriani E and Gray J (2016). Design pattern oriented development of model transformations, Computer Languages, Systems and Structures, 46:C, (106-139), Online publication date: 1-Nov-2016.
  51. ACM
    Danelutto M, De Matteis T, Mencagli G and Torquati M A divide-and-conquer parallel pattern implementation for multicores Proceedings of the 3rd International Workshop on Software Engineering for Parallel Systems, (10-19)
  52. ACM
    Pericàs M POSTER Proceedings of the 2016 International Conference on Parallel Architectures and Compilation, (429-431)
  53. Behrends R, Hammond K, Janjic V, Konovalov A, Linton S, Loidl H, Maier P and Trinder P (2016). HPC-GAP, Concurrency and Computation: Practice & Experience, 28:13, (3606-3636), Online publication date: 10-Sep-2016.
  54. ACM
    Turcksin B, Kronbichler M and Bangerth W (2016). WorkStream -- A Design Pattern for Multicore-Enabled Finite Element Computations, ACM Transactions on Mathematical Software, 43:1, (1-29), Online publication date: 29-Aug-2016.
  55. Deniz E and Sen A (2016). Using Machine Learning Techniques to Detect Parallel Patterns of Multi-threaded Applications, International Journal of Parallel Programming, 44:4, (867-900), Online publication date: 1-Aug-2016.
  56. ACM
    Ungerer T, Bradatsch C, Frieb M, Kluge F, Mische J, Stegmeier A, Jahr R, Gerdes M, Zaykov P, Matusova L, Li Z, Petrov Z, Böddeker B, Kehr S, Regler H, Hugl A, Rochange C, Ozaktas H, Cassé H, Bonenfant A, Sainrat P, Lay N, George D, Broster I, Quiñones E, Panic M, Abella J, Hernandez C, Cazorla F, Uhrig S, Rohde M and Pyka A (2016). Parallelizing Industrial Hard Real-Time Applications for the parMERASA Multicore, ACM Transactions on Embedded Computing Systems, 15:3, (1-27), Online publication date: 21-Jul-2016.
  57. ACM
    Nadschläger S and Küng J A pattern collection for knowledge processing system architecture Proceedings of the 21st European Conference on Pattern Languages of Programs, (1-23)
  58. Di Martino B and Esposito A (2016). A rule-based procedure for automatic recognition of design patterns in UML diagrams, Software—Practice & Experience, 46:7, (983-1007), Online publication date: 1-Jul-2016.
  59. Danelutto M, Torquati M and Kilpatrick P (2016). A DSL Based Toolchain for Design Space Exploration in Structured Parallel Programming, Procedia Computer Science, 80:C, (1519-1530), Online publication date: 1-Jun-2016.
  60. Liu J, Zhu A, Qin C, Wu H and Jiang J (2016). A two-level parallelization method for distributed hydrological models, Environmental Modelling & Software, 80:C, (175-184), Online publication date: 1-Jun-2016.
  61. Aldinucci M, Campa S, Danelutto M, Kilpatrick P and Torquati M (2016). Pool Evolution, International Journal of Parallel Programming, 44:3, (531-551), Online publication date: 1-Jun-2016.
  62. ACM
    Long Y, Bagherzadeh M, Lin E, Upadhyaya G and Rajan H On ordering problems in message passing software Proceedings of the 15th International Conference on Modularity, (54-65)
  63. ACM
    del Rio Astorga D, Dolz M, Sanchez L and García J Discovering Pipeline Parallel Patterns in Sequential Legacy C++ Codes Proceedings of the 7th International Workshop on Programming Models and Applications for Multicores and Manycores, (11-19)
  64. ACM
    Adams J, Crain P, Dilley C, Nelesen S, Unger J and Vander Stel M Seeing Is Believing Proceedings of the 47th ACM Technical Symposium on Computing Science Education, (473-478)
  65. ACM
    Kiefer M, Warzel D and Tichy W An empirical study on parallelism in modern open-source projects Proceedings of the 2nd International Workshop on Software Engineering for Parallel Systems, (35-44)
  66. Lin C, Kuan C, Shih W and Lee J (2015). Compilers for Low Power with Design Patterns on Embedded Multicore Systems, Journal of Signal Processing Systems, 80:3, (277-293), Online publication date: 1-Sep-2015.
  67. ACM
    Arora R, Chen K, Gupta M, Clark S and Song C Leveraging DiaGrid hub for interactively generating and running parallel programs Proceedings of the 2015 XSEDE Conference: Scientific Advancements Enabled by Enhanced Cyberinfrastructure, (1-8)
  68. Barbieri D, Cardellini V and Filippone S SIMPL Proceedings of the 2015 International Workshop on Software Engineering for High Performance Computing in Science, (38-45)
  69. Almorsy M and Grundy J Supporting scientists in re-engineering sequential programs to parallel using model-driven engineering Proceedings of the 2015 International Workshop on Software Engineering for High Performance Computing in Science, (1-8)
  70. ACM
    Molitorisz K, Müller T and Tichy W Patty Proceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores, (153-163)
  71. ACM
    Alcázar Zapién J Debugging parallel programs using fork handlers Proceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores, (112-121)
  72. ACM
    Lazarescu M and Lavagno L (2015). Interactive Trace-Based Analysis Toolset for Manual Parallelization of C Programs, ACM Transactions on Embedded Computing Systems, 14:1, (1-20), Online publication date: 21-Jan-2015.
  73. ACM
    Huda Z, Jannesari A and Wolf F (2015). Using Template Matching to Infer Parallel Design Patterns, ACM Transactions on Architecture and Code Optimization, 11:4, (1-21), Online publication date: 9-Jan-2015.
  74. Nanthaamornphong A, Carver J, Morris K and Filippone S (2015). Extracting UML class diagrams from object-oriented fortran, Scientific Programming, 2015, (1-1), Online publication date: 1-Jan-2015.
  75. ACM
    Totoo P and Loidl H Lazy data-oriented evaluation strategies Proceedings of the 3rd ACM SIGPLAN workshop on Functional high-performance computing, (63-74)
  76. ACM
    Zhang W, Goswami D and Goodarzi B On the Dynamic Scheduling of Task Farm Patterns on a Heterogeneous CPU-GPGPU Environment Proceedings of the 2014 International C* Conference on Computer Science & Software Engineering, (1-7)
  77. ACM
    Arora R, Olaya J and Gupta M A Tool for Interactive Parallelization Proceedings of the 2014 Annual Conference on Extreme Science and Engineering Discovery Environment, (1-8)
  78. Morandi B, Nanz S and Meyer B Safe and Efficient Data Sharing for Message-Passing Concurrency Proceedings of the 16th IFIP WG 6.1 International Conference on Coordination Models and Languages - Volume 8459, (99-114)
  79. Totoo P and Loidl H (2014). Parallel Haskell implementations of the N-body problem, Concurrency and Computation: Practice & Experience, 26:4, (987-1019), Online publication date: 25-Mar-2014.
  80. Liu J, Zhu A, Liu Y, Zhu T and Qin C (2014). A layered approach to parallel computing for spatially distributed hydrological modeling, Environmental Modelling & Software, 51:C, (221-227), Online publication date: 1-Jan-2014.
  81. ACM
    Di Martino B and Esposito A Towards a Common Semantic Representation of Design and Cloud Patterns Proceedings of International Conference on Information Integration and Web-based Applications & Services, (385-389)
  82. ACM
    Di Martino B and Esposito A Automatic Recognition of Design Patterns from UML-based Software Documentation Proceedings of International Conference on Information Integration and Web-based Applications & Services, (280-289)
  83. ACM
    Nanthaamornphong A A pilot study Proceedings of the 1st International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering, (17-20)
  84. ACM
    Ropars T, Martsinkevich T, Guermouche A, Schiper A and Cappello F SPBC Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, (1-12)
  85. Chen N and Johnson R JFlow Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, (202-212)
  86. ACM
    Santi A and Ricci A A task framework on top of a concurrent OOP language rooted on agent-oriented abstractions Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control, (139-144)
  87. ACM
    Martin P, Rubin A and Bhatti R Enforcing Minimum Necessary Access in Healthcare Through Integrated Audit and Access Control Proceedings of the International Conference on Bioinformatics, Computational Biology and Biomedical Informatics, (946-955)
  88. Lucas L, Schuele T and Schwitzer W Self-timed Scheduling and Execution of Nonlinear Pipelines with Parallel Stages Proceedings of the International Conference on Multicore Software Engineering, Performance, and Tools - Volume 8063, (1-12)
  89. ACM
    Arora R, Capetillo E, Bangalore P and Mernik M A high-level framework for parallelizing legacy applications for multiple platforms Proceedings of the Conference on Extreme Science and Engineering Discovery Environment: Gateway to Discovery, (1-8)
  90. Tasharofi S, Dinges P and Johnson R Why do scala developers mix the actor model with other concurrency models? Proceedings of the 27th European conference on Object-Oriented Programming, (302-326)
  91. ACM
    Ko Y, Burgstaller B and Scholz B Parallel from the beginning Proceeding of the 44th ACM technical symposium on Computer science education, (415-420)
  92. ACM
    Wilkinson B, Villalobos J and Ferner C Pattern programming approach for teaching parallel and distributed computing Proceeding of the 44th ACM technical symposium on Computer science education, (409-414)
  93. ACM
    Jahr R, Gerdes M and Ungerer T A pattern-supported parallelization approach Proceedings of the 2013 International Workshop on Programming Models and Applications for Multicores and Manycores, (53-62)
  94. ACM
    Lutz T, Fensch C and Cole M (2013). PARTANS, ACM Transactions on Architecture and Code Optimization, 9:4, (1-24), Online publication date: 1-Jan-2013.
  95. ACM
    Nugteren C, Custers P and Corporaal H (2013). Algorithmic species, ACM Transactions on Architecture and Code Optimization, 9:4, (1-25), Online publication date: 1-Jan-2013.
  96. Le D, Chin W and Teo Y Variable permissions for concurrency verification Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering, (5-21)
  97. ACM
    Okur S and Dig D How do developers use parallel libraries? Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, (1-11)
  98. Pienaar J, Chakradhar S and Raghunathan A Automatic generation of software pipelines for heterogeneous parallel systems Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, (1-12)
  99. ACM
    Palyart M, Ober I, Lugato D and Bruel J HPCML Proceedings of the 1st International Workshop on Model-Driven Engineering for High Performance and CLoud computing, (1-6)
  100. ACM
    Wrinn M (2012). Parallel computing, ACM Inroads, 3:3, (4-8), Online publication date: 1-Sep-2012.
  101. Benkner S, Bajrovic E, Marth E, Sandrieser M, Namyst R and Thibault S High-level support for pipeline parallelism on many-core architectures Proceedings of the 18th international conference on Parallel Processing, (614-625)
  102. Monteiro P HARPPIE: hyper algorithmic recipe for productive parallelism intensive endeavors Proceedings of the 34th International Conference on Software Engineering, (1559-1562)
  103. Pankratius V, Schmidt F and Garretón G Combining functional and imperative programming for multicore software: an empirical study evaluating Scala and Java Proceedings of the 34th International Conference on Software Engineering, (123-133)
  104. Schönherr J, Lutz B and Richling J Non-intrusive coscheduling for general purpose operating systems Proceedings of the 2012 international conference on Multicore Software Engineering, Performance, and Tools, (66-77)
  105. Christmann C, Hebisch E and Weisbecker A Oversubscription of computational resources on multicore desktop systems Proceedings of the 2012 international conference on Multicore Software Engineering, Performance, and Tools, (18-29)
  106. ACM
    Nakajima K New strategy for coarse grid solvers in parallel multigrid methods using OpenMP/MPI hybrid programming models Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores, (93-102)
  107. ACM
    Gupta G and Sohi G Dataflow execution of sequential imperative programs on multicore architectures Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture, (59-70)
  108. ACM
    Crawl D, Wang J and Altintas I Provenance for MapReduce-based data-intensive workflows Proceedings of the 6th workshop on Workflows in support of large-scale science, (21-30)
  109. Qian H and Deng Y Accelerating RTL simulation with GPUs Proceedings of the International Conference on Computer-Aided Design, (687-693)
  110. ACM
    Reed E, Chen N and Johnson R Expressing pipeline parallelism using TBB constructs Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE! 2011, AOOPES'11, NEAT'11, & VMIL'11, (133-138)
  111. ACM
    Long D, Gibbs C, Horspool N and Coady Y HiLPR Proceedings of the 18th Conference on Pattern Languages of Programs, (1-14)
  112. ACM
    Monteiro P, Monteiro M and Pingali K Parallelizing irregular algorithms Proceedings of the 18th Conference on Pattern Languages of Programs, (1-18)
  113. ACM
    Liu P, Lee G, Lee J and Lin C Innovative system and application curriculum on multicore systems Proceedings of the 6th Workshop on Embedded Systems Education, (25-31)
  114. ACM
    von Praun C Parallel programming Proceedings of the 2011 ACM SIGPLAN X10 Workshop, (1-6)
  115. ACM
    Pingali K, Nguyen D, Kulkarni M, Burtscher M, Hassaan M, Kaleem R, Lee T, Lenharth A, Manevich R, Méndez-Lojo M, Prountzos D and Sui X The tao of parallelism in algorithms Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, (12-25)
  116. ACM
    Pingali K, Nguyen D, Kulkarni M, Burtscher M, Hassaan M, Kaleem R, Lee T, Lenharth A, Manevich R, Méndez-Lojo M, Prountzos D and Sui X (2011). The tao of parallelism in algorithms, ACM SIGPLAN Notices, 46:6, (12-25), Online publication date: 4-Jun-2011.
  117. ACM
    Kaminskyj Long D, Kiemele L, Gibbs C, Brownsword A and Coady Y Mind the gap! Proceedings of the 4th International Workshop on Software Engineering for Computational Science and Engineering, (46-55)
  118. ACM
    Dig D, Marrero J and Ernst M How do programs become more concurrent Proceedings of the 4th International Workshop on Multicore Software Engineering, (43-50)
  119. Newburn C, So B, Liu Z, McCool M, Ghuloum A, Toit S, Wang Z, Du Z, Chen Y, Wu G, Guo P, Liu Z and Zhang D Intel's Array Building Blocks Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (224-235)
  120. ACM
    Niño J Designing an undergraduate curriculum based on parallelism and concurrency Proceedings of the 49th Annual Southeast Regional Conference, (1-6)
  121. ACM
    Chu P, Hsueh N, Lee C, Chuang M, Hsiung P and Chu W A pattern-based verification approach for a multi-core system development Proceedings of the 2011 ACM Symposium on Applied Computing, (49-53)
  122. ACM
    Park H and Fishwick P (2011). An analysis of queuing network simulation using GPU-based hardware acceleration, ACM Transactions on Modeling and Computer Simulation, 21:3, (1-22), Online publication date: 1-Mar-2011.
  123. ACM
    van der Wijngaart R, Mattson T and Haas W (2011). Light-weight communications on Intel's single-chip cloud computer processor, ACM SIGOPS Operating Systems Review, 45:1, (73-83), Online publication date: 18-Feb-2011.
  124. ACM
    Rajan H Building scalable software systems in the multicore era Proceedings of the FSE/SDP workshop on Future of software engineering research, (293-298)
  125. ACM
    Chester S, Gibbs C, Rossi F, Brownsword A, So P, Gulliver A and Coady Y Insulating the scientific programmer from perilous parallel architecture Proceedings of the 9th Workshop on Parallel/High-Performance Object-Oriented Scientific Computing, (1-3)
  126. ACM
    Rajan H, Kautz S and Rowcliffe W (2010). Concurrency by modularity, ACM SIGPLAN Notices, 45:10, (790-805), Online publication date: 17-Oct-2010.
  127. ACM
    Mooney S, Rajan H, Kautz S and Rowcliffe W Almost free concurrency! (using GOF patterns) Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (249-250)
  128. ACM
    Rajan H, Kautz S and Rowcliffe W Concurrency by modularity Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (790-805)
  129. ACM
    Catanzaro B and Keutzer K (2010). Parallel computing with patterns and frameworks, XRDS: Crossroads, The ACM Magazine for Students, 17:1, (22-27), Online publication date: 1-Sep-2010.
  130. Yaikhom G, Liew C, Han L, van Hemert J, Atkinson M and Krause A Federated enactment of workflow patterns Proceedings of the 16th international Euro-Par conference on Parallel processing: Part I, (317-328)
  131. ACM
    Monagan M and Pearce R Parallel sparse polynomial division using heaps Proceedings of the 4th International Workshop on Parallel and Symbolic Computation, (105-111)
  132. ACM
    Brown R, Shoop E, Adams J, Clifton C, Gardner M, Haupt M and Hinsbeeck P Strategies for preparing computer science students for the multicore world Proceedings of the 2010 ITiCSE working group reports, (97-115)
  133. Choi B, Komuravelli R, Lu V, Sung H, Bocchino R, Adve S and Hart J Parallel SAH k-D tree construction Proceedings of the Conference on High Performance Graphics, (77-86)
  134. ACM
    Méndez-Lojo M, Nguyen D, Prountzos D, Sui X, Hassaan M, Kulkarni M, Burtscher M and Pingali K (2010). Structure-driven optimizations for amorphous data-parallel programs, ACM SIGPLAN Notices, 45:5, (3-14), Online publication date: 1-May-2010.
  135. ACM
    Schaefer C, Pankratius V and Tichy W Engineering parallel applications with tunable architectures Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, (405-414)
  136. ACM
    Sanders B The Shared Map pattern Proceedings of the 2010 Workshop on Parallel Programming Patterns, (1-13)
  137. ACM
    Monteiro P and Monteiro M A pattern language for parallelizing irregular algorithms Proceedings of the 2010 Workshop on Parallel Programming Patterns, (1-14)
  138. ACM
    Keutzer K, Massingill B, Mattson T and Sanders B A design pattern language for engineering (parallel) software Proceedings of the 2010 Workshop on Parallel Programming Patterns, (1-8)
  139. ACM
    Miller A The task graph pattern Proceedings of the 2010 Workshop on Parallel Programming Patterns, (1-7)
  140. ACM
    Méndez-Lojo M, Nguyen D, Prountzos D, Sui X, Hassaan M, Kulkarni M, Burtscher M and Pingali K Structure-driven optimizations for amorphous data-parallel programs Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, (3-14)
  141. ACM
    Rouson D, Adalsteinsson H and Xia J (2010). Design patterns for multiphysics modeling in Fortran 2003 and C++, ACM Transactions on Mathematical Software, 37:1, (1-30), Online publication date: 1-Jan-2010.
  142. Kijsipongse E and Ngamsuriyaroj S (2010). Placing pipeline stages on a Grid, Future Generation Computer Systems, 26:1, (50-62), Online publication date: 1-Jan-2010.
  143. Mahmoudi R, Akil M and Matas P Parallel image thinning through topological operators on shared memory parallel machines Proceedings of the 43rd Asilomar conference on Signals, systems and computers, (723-730)
  144. ACM
    Krishnamurthy A, McMains S and Halle K Accelerating geometric queries using the GPU 2009 SIAM/ACM Joint Conference on Geometric and Physical Modeling, (199-210)
  145. ACM
    Asanovic K, Bodik R, Demmel J, Keaveny T, Keutzer K, Kubiatowicz J, Morgan N, Patterson D, Sen K, Wawrzynek J, Wessel D and Yelick K (2009). A view of the parallel computing landscape, Communications of the ACM, 52:10, (56-67), Online publication date: 1-Oct-2009.
  146. Richardson S, Olson B, Dymond J, Burns R, Chandrasegaran S, Boeke J, Shehu A and Bader J Automated design of assemblable, modular, synthetic chromosomes Proceedings of the 8th international conference on Parallel processing and applied mathematics: Part II, (280-289)
  147. Berthold J, Dieterle M and Loogen R Implementing Parallel Google Map-Reduce in Eden Proceedings of the 15th International Euro-Par Conference on Parallel Processing, (990-1002)
  148. Otto F, Pankratius V and Tichy W XJava Proceedings of the 15th International Euro-Par Conference on Parallel Processing, (875-886)
  149. Parra-Plaza J, Upegui A and Velasco-Medina J Cytocomputation in a biologically inspired, dynamically reconfigurable hardware platform Proceedings of the Eleventh conference on Congress on Evolutionary Computation, (150-157)
  150. Schaefer C Reducing search space of auto-tuners using parallel patterns Proceedings of the 2009 ICSE Workshop on Multicore Software Engineering, (17-24)
  151. Ebnenasir A and Beik R Developing parallel programs Proceedings of the 2009 ICSE Workshop on Multicore Software Engineering, (1-8)
  152. ACM
    Domonkos B and Jakab G A programming model for GPU-based parallel computing with scalability and abstraction Proceedings of the 25th Spring Conference on Computer Graphics, (103-111)
  153. ACM
    MacDonald S, Tan K, Schaeffer J and Szafron D (2009). Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system, ACM Transactions on Programming Languages and Systems, 31:3, (1-49), Online publication date: 1-Apr-2009.
  154. ACM
    Sanders B, Deumens E, Lotrich V and Ponton M Refactoring a language for parallel computational chemistry Proceedings of the 2nd Workshop on Refactoring Tools, (1-4)
  155. ACM
    Bachmann P Deferred cancellation Proceedings of the 15th Conference on Pattern Languages of Programs, (1-17)
  156. Rodríguez A, López-De-Teruel P, Ruiz A, García-Mateos G and Fernóndez L A Design Pattern for Component Oriented Development of Agent Based Multithreaded Applications Proceedings of the 14th international Euro-Par conference on Parallel Processing, (709-718)
  157. ACM
    Owens J Parallel programming models overview ACM SIGGRAPH 2008 classes, (1-15)
  158. ACM
    Catanzaro B, Keutzer K and Su B Parallelizing CAD Proceedings of the 45th annual Design Automation Conference, (12-17)
  159. ACM
    Mattson T and Wrinn M Parallel programming Proceedings of the 45th annual Design Automation Conference, (7-11)
  160. ACM
    Scherl H, Hoppe S, Kowarschik M and Hornegger J Design and implementation of the software architecture for a 3-D reconstruction system in medical imaging Proceedings of the 30th international conference on Software engineering, (661-668)
  161. ACM
    Pankratius V, Schaefer C, Jannesari A and Tichy W Software engineering for multicore systems Proceedings of the 1st international workshop on Multicore software engineering, (53-60)
  162. ACM
    Massingill B, Mattson T and Sanders B SIMD Proceedings of the 14th Conference on Pattern Languages of Programs, (1-15)
  163. ACM
    Hwu W, Ryoo S, Ueng S, Kelm J, Gelado I, Stone S, Kidd R, Baghsorkhi S, Mahesri A, Tsao S, Navarro N, Lumetta S, Frank M and Patel S Implicitly parallel programming models for thousand-core microprocessors Proceedings of the 44th annual Design Automation Conference, (754-759)
  164. Decyk V and Gardner H A Factory Pattern in Fortran 95 Proceedings of the 7th international conference on Computational Science, Part I: ICCS 2007, (583-590)
  165. ACM
    Sonoda E and Travieso G The OOPS framework Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, (659-660)
  166. ACM
    Bachmann P Static and metaprogramming patterns and static frameworks Proceedings of the 2006 conference on Pattern languages of programs, (1-33)
  167. ACM
    Nakamura T, Hochstein L and Basili V Identifying domain-specific defect classes using inspections and change history Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering, (346-355)
  168. Ragulskis M and Saunoriene L Order adaptive quadrature rule for real time holography applications Proceedings of the 6th international conference on Numerical methods and applications, (685-692)
  169. ACM
    Hernández F, Bangalore P and Reilly K Automating the development of scientific applications using domain-specific modeling Proceedings of the second international workshop on Software engineering for high performance computing system applications, (50-54)
Contributors
  • Intel Corporation
  • University of Florida
  • Trinity University

Recommendations