English
Related papers

Related papers: Compile-Time Java Stream Fusion via mapMulti

200 papers

Parallelization schemes are essential in order to exploit the full benefits of multi-core architectures. In said architectures, the most comprehensive parallelization API is OpenMP. However, the introduction of correct and optimal OpenMP…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-28 Idan Mosseri , Lee-or Alon , Re'em Harel , Gal Oren

As deep learning models scale, sparse computation and specialized dataflow hardware have emerged as powerful solutions to address efficiency. We propose FuseFlow, a compiler that converts sparse machine learning models written in PyTorch to…

Machine Learning · Computer Science 2026-01-27 Rubens Lacouture , Nathan Zhang , Ritvik Sharma , Marco Siracusa , Fredrik Kjolstad , Kunle Olukotun , Olivia Hsu

The development of a real-time web application often starts with a feature-driven approach allowing to quickly react to users feedbacks. However, this approach poorly scales in performance. Yet, the user-base can increase by an order of…

Programming Languages · Computer Science 2015-12-23 Etienne Brodu , Stéphane Frénot , Frédéric Oblé

Context: Just-in-Time (JIT) compilers are able to specialize the code they generate according to a continuous profiling of the running programs. This gives them an advantage when compared to Ahead-of-Time (AoT) compilers that must choose…

Programming Languages · Computer Science 2025-03-03 Aurore Poirier , Erven Rohou , Manuel Serrano

Due to ongoing accrual over long durations, a defining characteristic of real-world data streams is the requirement for rolling, often real-time, mechanisms to coarsen or summarize stream history. One common data structure for this purpose…

Data Structures and Algorithms · Computer Science 2025-06-17 Connor Yang , Joey Wagner , Emily Dolson , Luis Zaman , Matthew Andres Moreno

Approximate computing aims for efficient execution of workflows where an approximate output is sufficient instead of the exact output. The idea behind approximate computing is to compute over a representative sample instead of the entire…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-12 Do Le Quoc , Ruichuan Chen , Pramod Bhatotia , Christof Fetze , Volker Hilt , Thorsten Strufe

During compilation from Java source code to bytecode, some information is irreversibly lost. In other words, compilation and decompilation of Java code is not symmetric. Consequently, the decompilation process, which aims at producing…

Software Engineering · Computer Science 2019-12-19 Nicolas Harrand , César Soto-Valero , Martin Monperrus , Benoit Baudry

Existing serverless workflow orchestration systems are predominantly designed for a single-cloud FaaS system, leading to vendor lock-in. This restricts performance optimization, cost reduction, and availability of applications. However,…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-04-07 Rui Li , Jianfei Liu , Zhilin Yang , Peichang Shi , Guodong Yi , Huaimin Wang

Polyhedral compilers perform optimizations such as tiling and parallelization; when doing both, they usually generate code that executes "barrier-synchronized wavefronts" of tiles. We present a system to express and generate code for hybrid…

Programming Languages · Computer Science 2016-10-25 Tian Jin , Nirmal Prajapati , Waruna Ranasinghe , Guillaume Iooss , Yun Zou , Sanjay Rajopadhye , David Wonnacott

In recent years, there has been a surging demand for edge computing of image processing and machine learning workloads. This has reignited interest in the development of custom hardware accelerators that can deliver enhanced performance and…

Hardware Architecture · Computer Science 2023-09-08 Kingshuk Majumder , Uday Bondhugula

Just-in-Time (JIT) compilers are used by many modern programming systems in order to improve performance. Bugs in JIT compilers provide exploitable security vulnerabilities and debugging them is difficult as they are large, complex, and…

Programming Languages · Computer Science 2021-07-02 HeuiChan Lim , Stephen Kobourov

Code translation, the automatic conversion of programs between languages, is a growing use case for Large Language Models (LLMs). However, direct one-shot translation often fails to preserve program intent, leading to errors in control…

Software Engineering · Computer Science 2026-02-19 Shahriar Rumi Dipto , Saikat Mondal , Chanchal K. Roy

Workflows are among the most commonly used tools in a variety of execution environments. Many of them target a specific environment; few of them make it possible to execute an entire workflow in different environments, e.g. Kubernetes and…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-09 Iacopo Colonnelli , Barbara Cantalupo , Ivan Merelli , Marco Aldinucci

Massive, multi-language, monolithic repositories form the backbone of many modern, complex software systems. To ensure consistent code quality while still allowing fast development cycles, Continuous Integration (CI) is commonly applied.…

Software Engineering · Computer Science 2025-01-22 Daniel Schwendner , Maximilian Jungwirth , Martin Gruber , Martin Knoche , Daniel Merget , Gordon Fraser

Compilers face an intrinsic tradeoff between compilation speed and code quality. The tradeoff is particularly stark in a dynamic setting where JIT compilation time contributes to application runtime. Many systems now employ multiple…

Programming Languages · Computer Science 2023-11-07 Ben L. Titzer

With the rapid growth in the number of devices of the Internet of Things (IoT), the volume and types of stream data are rapidly increasing in the real world. Unfortunately, the stream data has the characteristics of infinite and periodic…

Performance · Computer Science 2022-12-13 Weirong Xiu , Baozhu Li , Xusheng Du , Zheng Chu

Modern GPUs are able to perform significantly more arithmetic operations than transfers of a single word to or from global memory. Hence, many GPU kernels are limited by memory bandwidth and cannot exploit the arithmetic power of GPUs.…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-13 J. Filipovič , M. Madzin , J. Fousek , L. Matyska

Stream processing is a computing paradigm that supports real-time data processing for a wide variety of applications. At Meta, it's used across the company for various tasks such as deriving product insights, providing and improving user…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-12-09 Animesh Dangwal , Yufeng Jiang , Charlie Arnold , Jun Fan , Mohamed Bassem , Aish Rajagopal

Stream processing is usually done either on a tuple-by-tuple basis or in micro-batches. There are many applications where tuples over a predefined duration/window must be processed within certain deadlines. Processing such queries using…

Databases · Computer Science 2024-09-23 Saranya Chandrasekaran , S. Sudarshan

We introduce StreamDiffusion, a real-time diffusion pipeline designed for interactive image generation. Existing diffusion models are adept at creating images from text or image prompts, yet they often fall short in real-time interaction.…

Computer Vision and Pattern Recognition · Computer Science 2025-07-09 Akio Kodaira , Chenfeng Xu , Toshiki Hazama , Takanori Yoshimoto , Kohei Ohno , Shogo Mitsuhori , Soichi Sugano , Hanying Cho , Zhijian Liu , Masayoshi Tomizuka , Kurt Keutzer