English
Related papers

Related papers: Synthesizing Proxy Applications for MPI Programs

200 papers

Developing efficient parallel applications is critical to advancing scientific development but requires significant performance analysis and optimization. Performance analysis tools help developers manage the increasing complexity and scale…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-25 Onur Cankur , Aditya Tomar , Daniel Nichols , Connor Scully-Allison , Katherine E. Isaacs , Abhinav Bhatele

We describe a novel approach to monitoring high level behaviors using concepts from AI planning. Our goal is to understand what a program is doing based on its system call trace. This ability is particularly important for detecting malware.…

Artificial Intelligence · Computer Science 2017-09-12 Alexandre Cukier , Ronen I. Brafman , Yotam Perkal , David Tolpin

Multiparty session types (MPST) provide a rigorous foundation for verifying the safety and liveness of concurrent systems. However, existing approaches often force a difficult trade-off: classical, projection-based techniques are…

Programming Languages · Computer Science 2025-12-01 David Castro-Perez , Francisco Ferreira , Sung-Shik Jongmans

Message passing is the standard paradigm of programming in high-performance computing. However, verifying Message Passing Interface (MPI) programs is challenging, due to the complex program features (such as non-determinism and non-blocking…

Programming Languages · Computer Science 2020-01-20 Hengbiao Yu , Zhenbang Chen , Xianjin Fu , Ji Wang , Zhendong Su , Jun Sun , Chun Huang , Wei Dong

In this paper, we present OMP2MPI a tool that generates automatically MPI source code from OpenMP. With this transformation the original program can be adapted to be able to exploit a larger number of processors by surpassing the limits of…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-06-12 Albert Saa-Garriga , David Castells-Rufas , Jordi Carrabina

The increasing penetration of renewable generation and distributed energy resources requires new operating practices for power systems, wherein risk is explicitly quantified and managed. However, traditional risk-assessment frameworks are…

Optimization and Control · Mathematics 2023-10-05 Wenbo Chen , Mathieu Tanneau , Pascal Van Hentenryck

The current trend of multicore architectures on shared memory systems underscores the need of parallelism. While there are some programming model to express parallelism, thread programming model has become a standard to support these system…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-12-13 D. T. Hasta , A. B. Mutiara

Applications in science and engineering often require huge computational resources for solving problems within a reasonable time frame. Parallel supercomputers provide the computational infrastructure for solving such problems. A…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Rajesh Sudarsan , Calvin J. Ribbens

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to…

Artificial Intelligence · Computer Science 2018-06-05 Evan Hernandez , Ara Vartanian , Xiaojin Zhu

The ML community is rapidly exploring techniques for prompting language models (LMs) and for stacking them into pipelines that solve complex tasks. Unfortunately, existing LM pipelines are typically implemented using hard-coded "prompt…

Programming embedded systems applications involve writing concurrent, event-driven and timing-aware programs. Traditionally, such programs are written in low-level machine-oriented programming languages like C or Assembly. We present an…

Programming Languages · Computer Science 2024-01-17 Abhiroop Sarkar , Bo Joel Svensson , Mary Sheeran

Developing secure distributed systems is difficult, and even harder when advanced cryptography must be used to achieve security goals. Following prior work, we advocate using secure program partitioning to synthesize cryptographic…

Cryptography and Security · Computer Science 2024-01-10 Coşku Acay , Joshua Gancher , Rolph Recto , Andrew C. Myers

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

Applications to process seismic data employ scalable parallel systems to produce timely results. To fully exploit emerging processor architectures, application will need to employ threaded parallelism within a node and message passing…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-15 Sri Raj Paul , John Mellor-Crummey , Mauricio Araya-Polo , Detlef Hohl

A monitor is a widely-used concurrent programming abstraction that encapsulates all shared state between threads. Monitors can be classified as being either implicit or explicit depending on the primitives they provide. Implicit monitors…

Programming Languages · Computer Science 2022-03-17 Kostas Ferles , Benjamin Sepanski , Rahul Krishnan , James Bornholt , Isil Dillig

Many programs that interact with a database need to undergo schema refactoring several times during their life cycle. Since this process typically requires making significant changes to the program's implementation, schema refactoring is…

Programming Languages · Computer Science 2019-04-12 Yuepeng Wang , James Dong , Rushi Shah , Isil Dillig

Programming-by-example is the task of synthesizing a program that is consistent with a set of user-provided input-output examples. As examples are often an under-specification of one's intent, a good synthesizer must choose the intended…

Machine Learning · Computer Science 2025-04-18 Saujas Vaduguru , Daniel Fried , Yewen Pu

Scientific applications that involve simulation ensembles can be accelerated greatly by using experiment design methods to select the best simulations to perform. Methods that use machine learning (ML) to create proxy models of simulations…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-03-16 Logan Ward , Ganesh Sivaraman , J. Gregory Pauloski , Yadu Babuji , Ryan Chard , Naveen Dandu , Paul C. Redfern , Rajeev S. Assary , Kyle Chard , Larry A. Curtiss , Rajeev Thakur , Ian Foster

Program synthesis has seen many new applications in recent years, in large part thanks to the introduction of SyGuS. However, no existing SyGuS solvers have support for synthesizing recursive functions. We introduce an multi-phase algorithm…

Programming Languages · Computer Science 2021-08-20 Shmuel Berman , Mark Santolucito

Cross-speaker style transfer in speech synthesis aims at transferring a style from source speaker to synthesized speech of a target speaker's timbre. In most previous methods, the synthesized fine-grained prosody features often represent…

Sound · Computer Science 2023-03-15 Chunyu Qiang , Peng Yang , Hao Che , Ying Zhang , Xiaorui Wang , Zhongyuan Wang