Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
Task parallel assembly language for uncompromising parallelism
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1064–1079https://doi.org/10.1145/3453483.3460969Achieving parallel performance and scalability involves making compromises between parallel and sequential computation. If not contained, the overheads of parallelism can easily outweigh its benefits, sometimes by orders of magnitude. Today, we expect ...
AKG: automatic kernel generation for neural processing units using polyhedral transformations
- Jie Zhao,
- Bojie Li,
- Wang Nie,
- Zhen Geng,
- Renwei Zhang,
- Xiong Gao,
- Bin Cheng,
- Chen Wu,
- Yun Cheng,
- Zheng Li,
- Peng Di,
- Kun Zhang,
- Xuefeng Jin
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1233–1248https://doi.org/10.1145/3453483.3454106Existing tensor compilers have proven their effectiveness in deploying deep neural networks on general-purpose hardware like CPU and GPU, but optimizing for neural processing units (NPUs) is still challenging due to the heterogeneous compute units and ...
Mirror: making lock-free data structures persistent
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1218–1232https://doi.org/10.1145/3453483.3454105With the recent launch of the Intel Optane memory platform, non-volatile main memory in the form of fast, dense, byte-addressable non-volatile memory has now become available. Nevertheless, designing crash-resilient algorithms and data structures is ...
- research-articleJune 2021
Example-guided synthesis of relational queries
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1110–1125https://doi.org/10.1145/3453483.3454098Program synthesis tasks are commonly specified via input-output examples. Existing enumerative techniques for such tasks are primarily guided by program syntax and only make indirect use of the examples. We identify a class of synthesis algorithms for ...
- research-articleJune 2021
CompCertO: compiling certified open C components
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1095–1109https://doi.org/10.1145/3453483.3454097Since the introduction of CompCert, researchers have been refining its language semantics and correctness theorem, and used them as components in software verification efforts. Meanwhile, artifacts ranging from CPU designs to network protocols have been ...
-
- research-articleJune 2021
JPortal: precise and efficient control-flow tracing for JVM programs with Intel processor trace
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1080–1094https://doi.org/10.1145/3453483.3454096Hardware tracing modules such as Intel Processor Trace perform continuous control-flow tracing of an end-to-end program execution with an ultra-low overhead. PT has been used in a variety of contexts to support applications such as testing, debugging, ...
Vectorized secure evaluation of decision forests
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1049–1063https://doi.org/10.1145/3453483.3454094As the demand for machine learning–based inference increases in tandem with concerns about privacy, there is a growing recognition of the need for secure machine learning, in which secret models can be used to classify private data without the model or ...
- research-articleJune 2021
Test-case reduction and deduplication almost for free with transformation-based compiler testing
- Alastair F. Donaldson,
- Paul Thomson,
- Vasyl Teliman,
- Stefano Milizia,
- André Perez Maselco,
- Antoni Karpiński
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1017–1032https://doi.org/10.1145/3453483.3454092Recent transformation-based approaches to compiler testing look for mismatches between the results of pairs of equivalent programs, where one program is derived from the other by randomly applying semantics-preserving transformations. We present a ...
- research-articleJune 2021
SyRust: automatic testing of Rust libraries with semantic-aware program synthesis
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 899–913https://doi.org/10.1145/3453483.3454084Rust’s type system ensures the safety of Rust programs; however, programmers can side-step some of the strict typing rules by using the unsafe keyword. A common use of unsafe Rust is by libraries. Bugs in these libraries undermine the safety of the ...
- research-articleJune 2021
DNNFusion: accelerating deep neural networks execution with advanced operator fusion
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 883–898https://doi.org/10.1145/3453483.3454083Deep Neural Networks (DNNs) have emerged as the core enabler of many major applications on mobile devices. To achieve high accuracy, DNN models have become increasingly deep with hundreds or even thousands of operator layers, leading to high memory and ...
Modular data-race-freedom guarantees in the promising semantics
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 867–882https://doi.org/10.1145/3453483.3454082Local data-race-freedom guarantees, ensuring strong semantics for locations accessed by non-racy instructions, provide a fruitful methodology for modular reasoning in relaxed memory concurrency. We observe that standard compiler optimizations are in ...
- research-articleJune 2021
Automatically enforcing fresh and consistent inputs in intermittent systems
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 851–866https://doi.org/10.1145/3453483.3454081Intermittently powered energy-harvesting devices enable new applications in inaccessible environments. Program executions must be robust to unpredictable power failures, introducing new challenges in programmability and correctness. One hard problem is ...
- research-articleJune 2021
DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning
- Kevin Ellis,
- Catherine Wong,
- Maxwell Nye,
- Mathias Sablé-Meyer,
- Lucas Morales,
- Luke Hewitt,
- Luc Cary,
- Armando Solar-Lezama,
- Joshua B. Tenenbaum
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 835–850https://doi.org/10.1145/3453483.3454080We present a system for inductive program synthesis called DreamCoder, which inputs a corpus of synthesis problems each specified by one or a few examples, and automatically derives a library of program components and a neural search policy that can be ...
- research-articleJune 2021
SPPL: probabilistic programming with fast exact symbolic inference
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 804–819https://doi.org/10.1145/3453483.3454078We present the Sum-Product Probabilistic Language (SPPL), a new probabilistic programming language that automatically delivers exact solutions to a broad range of probabilistic inference queries. SPPL translates probabilistic programs into sum-product ...
- research-articleJune 2021
Reticle: a virtual machine for programming modern FPGAs
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 756–771https://doi.org/10.1145/3453483.3454075Modern field-programmable gate arrays (FPGAs) have recently powered high-profile efficiency gains in systems from datacenters to embedded devices by offering ensembles of heterogeneous, reconfigurable hardware units. Programming stacks for FPGAs, ...
- research-articleJune 2021
Distance-in-time versus distance-in-space
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 665–680https://doi.org/10.1145/3453483.3454069Cache behavior is one of the major factors that influence the performance of applications. Most of the existing compiler techniques that target cache memories focus exclusively on reducing data reuse distances in time (DIT). However, current manycore ...
- research-articleJune 2021
Abstraction for conflict-free replicated data types
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 636–650https://doi.org/10.1145/3453483.3454067Strong eventual consistency (SEC) has been used as a classic notion of correctness for Conflict-Free Replicated Data Types (CRDTs). However, it does not give proper abstractions of functionality, thus is not helpful for modular verification of client ...
- research-articleJune 2021
Synthesizing data structure refinements from integrity constraints
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 574–587https://doi.org/10.1145/3453483.3454063Implementations of many data structures use several correlated fields to improve their performance; however, inconsistencies between these fields can be a source of serious program errors. To address this problem, we propose a new technique for ...
- research-articleJune 2021
Filling typed holes with live GUIs
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 511–525https://doi.org/10.1145/3453483.3454059Text editing is powerful, but some types of expressions are more naturally represented and manipulated graphically. Examples include expressions that compute colors, music, animations, tabular data, plots, diagrams, and other domain-specific data ...
- research-articleJune 2021
Compiling Stan to generative probabilistic languages and extension to deep probabilistic programming
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 497–510https://doi.org/10.1145/3453483.3454058Stan is a probabilistic programming language that is popular in the statistics community, with a high-level syntax for expressing probabilistic models. Stan differs by nature from generative probabilistic programming languages like Church, Anglican, or ...