Tapir: Embedding fork-join parallelism into LLVM's intermediate representation
This paper explores how fork-join parallelism, as supported by concurrency platforms such
as Cilk and OpenMP, can be embedded into a compiler's intermediate representation (IR) …
as Cilk and OpenMP, can be embedded into a compiler's intermediate representation (IR) …
Partitioning streaming parallelism for multi-cores: a machine learning based approach
Stream based languages are a popular approach to expressing parallelism in modern
applications. The efficient map** of streaming parallelism to multi-core processors is …
applications. The efficient map** of streaming parallelism to multi-core processors is …
R-TOD: Real-time object detector with minimized end-to-end delay for autonomous driving
For realizing safe autonomous driving, the end-to-end delays of real-time object detection
systems should be thoroughly analyzed and minimized. However, despite recent …
systems should be thoroughly analyzed and minimized. However, despite recent …
On-the-fly pipeline parallelism
Pipeline parallelism organizes a parallel program as a linear sequence of stages. Each
stage processes elements of a data stream, passing each processed data element to the …
stage processes elements of a data stream, passing each processed data element to the …
Syncperf: Categorizing, detecting, and diagnosing synchronization performance bugs
Despite the obvious importance, performance issues related to synchronization primitives
are still lacking adequate attention. No literature extensively investigates categories, root …
are still lacking adequate attention. No literature extensively investigates categories, root …
SPBench: a framework for creating benchmarks of stream processing applications
In a fast-changing data-driven world, real-time data processing systems are becoming
ubiquitous in everyday applications. The increasing data we produce, such as audio, video …
ubiquitous in everyday applications. The increasing data we produce, such as audio, video …
Dynamic fine-grain scheduling of pipeline parallelism
Scheduling pipeline-parallel programs, defined as a graph of stages that communicate
explicitly through queues, is challenging. When the application is regular and the underlying …
explicitly through queues, is challenging. When the application is regular and the underlying …
Phloem: Automatic acceleration of irregular applications with fine-grain pipeline parallelism
Irregular applications are increasingly common in diverse domains, like graph analytics and
sparse linear algebra. Accelerating these applications is challenging because of their …
sparse linear algebra. Accelerating these applications is challenging because of their …
High-level and productive stream parallelism for Dedup, Ferret, and Bzip2
Parallel programming has been a challenging task for application programmers. Stream
processing is an application domain present in several scientific, enterprise, and financial …
processing is an application domain present in several scientific, enterprise, and financial …
Tapir: Embedding recursive fork-join parallelism into llvm's intermediate representation
Tapir (pronounced TAY-per) is a compiler intermediate representation (IR) that embeds
recursive fork-join parallelism, as supported by task-parallel programming platforms such as …
recursive fork-join parallelism, as supported by task-parallel programming platforms such as …