Filters








133,075 Hits in 8.0 sec

Automatic safety proofs for asynchronous memory operations

Matko Botincan, Mike Dodds, Alastair F. Donaldson, Matthew J. Parkinson
2011 Proceedings of the 16th ACM symposium on Principles and practice of parallel programming - PPoPP '11  
We present a work-in-progress proof system and tool, based on separation logic, for analysing memory safety of multicore programs that use asynchronous memory operations.  ...  We propose a deductive, proof-based approach that enables automation of this analysis. If a proof can be found via our method then the program is guaranteed to be race-free and memory-safe.  ...  Operations get and put are used to fill the buffer and push the results of processing (details of which are omitted) back to the main program.  ... 
doi:10.1145/1941553.1941605 dblp:conf/ppopp/BotincanDDP11 fatcat:kdi55s3qkbcpza6htu65orilaq

A programming system for future proofing performance critical libraries

Li-Wen Chang, Izzat El Hajj, Hee-Seok Kim, Juan Gómez-Luna, Abdul Dakkak, Wen-mei Hwu
2016 Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - PPoPP '16  
The language enables programmers to write computation and composition codelets, supported by tuning knobs and primitives for expressing data parallelism and work decomposition.  ...  We present Tangram, a programming system for writing performanceportable programs.  ...  Nested parallelism with algorithmic choice and recursive composition rules [3, 6] adapts programs to devices with different hierarchies.  ... 
doi:10.1145/2851141.2851178 dblp:conf/ppopp/ChangHKGDH16 fatcat:btc6btzamjco5fd6wy4lalrqti

Canonical proof-objects for coinductive programming: infinets with infinitely many cuts

Abhishek De, Luc Pellissier, Alexis Saurin
2021 23rd International Symposium on Principles and Practice of Declarative Programming  
The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.  ...  HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not.  ...  , and programs as proofs in such a logic.  ... 
doi:10.1145/3479394.3479402 fatcat:dvy2ybadtzbcbjiwqid6c6zr3a

Parallel program schemata

Richard M. Karp, Raymond E. Miller
1969 Journal of computer and system sciences (Print)  
This paper introduces a model called the parallel program schema for the representation and study of programs containing parallel sequencing.  ...  The model is related to Ianov's program schema, but extends it, both by modelling memory structure in more detail and by admitting parallel computation.  ...  The practical motivation of this study stems from the need to understand the role of parallel computation in the design and effective use of computer systems.  ... 
doi:10.1016/s0022-0000(69)80011-5 fatcat:guelp2lnuzhwveapfplk7mvmoq

Designing Parallel Operating Systems via Parallel Programming [chapter]

Eitan Frachtenberg, Kei Davis, Fabrizio Petrini, Juan Fernandez, José Carlos Sancho
2004 Lecture Notes in Computer Science  
This paper demonstrates that existing and future systems can be made more scalable by using BSP-like parallel programming principles in the design and implementation of the system software, and by taking  ...  In practice, current parallel machines are loosely-coupled systems that are used for solving inherently tightly-coupled problems.  ...  Department of Energy through Los Alamos National Laboratory contract W-7405-ENG-36 and the Spanish MCYT under grant TIC2003-08154-C06-03.  ... 
doi:10.1007/978-3-540-27866-5_90 fatcat:ubvas5uaazfpxbb5hpkgo6gc2e

Parallel programming: An axiomatic approach

C.A.R. Hoare
1975 Computer languages  
It distinguishes a number of ways of using parallelism, including disjoint processes, competition, cooperation, communication and "colluding". In each case an axiomatic proof rule is given.  ...  Warning: the program structuring methods described here are not suitable for the constructi.i of operating systems.  ...  intended to be executed in parallel with some other part; and use the phrase "parallel program" to denote a program which contains or consists of two or more processes.  ... 
doi:10.1016/0096-0551(75)90014-4 fatcat:23ztbq2d2vbjzksjrihq226vu4

Parallel programming: An axiomatic approach [chapter]

C. A. R. Hoare
1976 Lecture Notes in Computer Science  
It distinguishes a number of ways of using parallelism, including disjoint processes, competition, cooperation, communication and "colluding". In each case an axiomatic proof rule is given.  ...  Warning: the program structuring methods described here are not suitable for the constructi.i of operating systems.  ...  intended to be executed in parallel with some other part; and use the phrase "parallel program" to denote a program which contains or consists of two or more processes.  ... 
doi:10.1007/3-540-07994-7_47 fatcat:3paz3kp6azcmvnpvolfxwhzroa

Functional Programming [chapter]

1999 Functions, Objects and Parallelism: Programming in Balinda K  
Algorithmics [8] , or the Mathematics of Program Construction [google on this term], is the field where one tries to put this into practice.  ...  proof. See the appendix §16; there the "promotion" law is called reduce-Promo (page 12) and is formally proved.  ... 
doi:10.1142/9789812815101_0003 fatcat:xbx2dcj35va3lf3zi4nmkbm3my

Parallelism in logic programs

Raghu Ramakrishnan
1990 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '90  
Proof (Sketch) The proof is similar to that of Theorem 6.2.  ...  We then discuss some practical considerations in Section 8 and present our conclusions in Section 9.  ... 
doi:10.1145/96709.96734 dblp:conf/popl/Ramakrishnan90 fatcat:f3v3tplfcfhabdzmr4u3nnbwkm

Analysis of recursively parallel programs

Ahmed Bouajjani, Michael Emmi
2012 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '12  
Such systems introduce various mechanisms for creating (e.g., fork, spawn, post) and consuming (e.g., join, sync) concurrent computations, and either encourage (through recommended programming practices  ...  ., for designing reactive applications, or parallelizing computation across multiple processor cores), concurrent programming and concurrent program analysis remain challenging endeavors.  ...  and the anonymous POPL reviewers.  ... 
doi:10.1145/2103656.2103681 dblp:conf/popl/BouajjaniE12 fatcat:7auvllzatrfezavp2f4tojtuoa

Unifying theories for parallel programming [chapter]

Tony Hoare, Jifeng He
1997 Lecture Notes in Computer Science  
This paper suggests that the time has come to attempt a unifying classification of theories of parallel programming.  ...  Ideally, this should provide a common basis for reasoning about specifications and the correctness of designs, for optimising programs by algebraic transformation, and for implementing them in a range  ...  Many familiar engineering principles can be described as elementary proof rules in logic, and they can be used directly in reasoning about the correctness of programs.  ... 
doi:10.1007/bfb0002714 fatcat:ivmoirlngjcivhptvq476b4ujm

Algorithmic Skeletons and Parallel Design Patterns in Mainstream Parallel Programming

Marco Danelutto, Gabriele Mencagli, Massimo Torquati, Horacio González–Vélez, Peter Kilpatrick
2020 International journal of parallel programming  
This paper discusses the impact of structured parallel programming methodologies in state-of-the-art industrial and research parallel programming frameworks.  ...  We first recap the main ideas underpinning structured parallel programming models and then present the concepts of algorithmic skeletons and parallel design patterns.  ...  IC1406 High Performance Modelling and Simulation for Big Data Applications (cHiPSet).  ... 
doi:10.1007/s10766-020-00684-w fatcat:vtqcyf4he5gu3eefbjsb7nrxne

Performance challenges in modular parallel programs

Umut A. Acar, Vitaly Aksenov, Arthur Charguéraud, Mike Rainey
2018 Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - PPoPP '18  
The proof of this theorem, which applies to a relatively large class of parallel programs, is carried out in the work-span computation model, which is well suited for analyzing nested parallel programs  ...  Abstract Over the past decade, many programming languages and systems for parallel-computing have been developed, including Cilk, Fork/Join Java, Habanero Java, Parallel Haskell, Parallel ML, and X10.  ... 
doi:10.1145/3178487.3178516 dblp:conf/ppopp/AcarACR18 fatcat:r6h5pfk23fhrxf3kkmbhhypzym

Analysis of Recursively Parallel Programs

Ahmed Bouajjani, Michael Emmi
2013 ACM Transactions on Programming Languages and Systems  
Such systems introduce various mechanisms for creating (e.g., fork, spawn, post) and consuming (e.g., join, sync) concurrent computations, and either encourage (through recommended programming practices  ...  ., for designing reactive applications, or parallelizing computation across multiple processor cores), concurrent programming and concurrent program analysis remain challenging endeavors.  ...  and the anonymous POPL reviewers.  ... 
doi:10.1145/2518188 fatcat:i3sjhe5ozjbgtd2xasvogbmpga

Analysis of recursively parallel programs

Ahmed Bouajjani, Michael Emmi
2012 SIGPLAN notices  
Such systems introduce various mechanisms for creating (e.g., fork, spawn, post) and consuming (e.g., join, sync) concurrent computations, and either encourage (through recommended programming practices  ...  ., for designing reactive applications, or parallelizing computation across multiple processor cores), concurrent programming and concurrent program analysis remain challenging endeavors.  ...  and the anonymous POPL reviewers.  ... 
doi:10.1145/2103621.2103681 fatcat:3iyng6vyubb4pishs6f5eip53e
« Previous Showing results 1 — 15 out of 133,075 results