Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Jeffrey Bosboom is active.

Publication


Featured researches published by Jeffrey Bosboom.


international conference on parallel architectures and compilation techniques | 2014

OpenTuner: an extensible framework for program autotuning

Jason Ansel; Shoaib Kamil; Kalyan Veeramachaneni; Jonathan Ragan-Kelley; Jeffrey Bosboom; Una-May O'Reilly; Saman P. Amarasinghe

Program autotuning has been shown to achieve better or more portable performance in a number of domains. However, autotuners themselves are rarely portable between projects, for a number of reasons: using a domain-informed search space representation is critical to achieving good results; search spaces can be intractably large and require advanced machine learning techniques; and the landscape of search spaces can vary greatly between different problems, sometimes requiring domain specific search techniques to explore efficiently. This paper introduces OpenTuner, a new open source framework for building domain-specific multi-objective program autotuners. OpenTuner supports fully-customizable configuration representations, an extensible technique representation to allow for domain-specific techniques, and an easy to use interface for communicating with the program to be autotuned. A key capability inside OpenTuner is the use of ensembles of disparate search techniques simultaneously; techniques that perform well will dynamically be allocated a larger proportion of tests. We demonstrate the efficacy and generality of OpenTuner by building autotuners for 7 distinct projects and 16 total benchmarks, showing speedups over prior techniques of these projects of up to 2.8χ with little programmer effort.


conference on object-oriented programming systems, languages, and applications | 2014

StreamJIT: a commensal compiler for high-performance stream programming

Jeffrey Bosboom; Sumanaruban Rajadurai; Weng-Fai Wong; Saman P. Amarasinghe

There are many domain libraries, but despite the performance benefits of compilation, domain-specific languages are comparatively rare due to the high cost of implementing an optimizing compiler. We propose commensal compilation, a new strategy for compiling embedded domain-specific languages by reusing the massive investment in modern language virtual machine platforms. Commensal compilers use the host languages front-end, use host platform APIs that enable back-end optimizations by the host platform JIT, and use an autotuner for optimization selection. The cost of implementing a commensal compiler is only the cost of implementing the domain-specific optimizations. We demonstrate the concept by implementing a commensal compiler for the stream programming language StreamJIT atop the Java platform. Our compiler achieves performance 2.8 times better than the StreamIt native code (via GCC) compiler with considerably less implementation effort.


programming language design and implementation | 2015

Helium: lifting high-performance stencil kernels from stripped x86 binaries to halide DSL code

Charith Mendis; Jeffrey Bosboom; Kevin Wu; Shoaib Kamil; Jonathan Ragan-Kelley; Sylvain Paris; Qin Zhao; Saman P. Amarasinghe

Highly optimized programs are prone to bit rot, where performance quickly becomes suboptimal in the face of new hardware and compiler techniques. In this paper we show how to automatically lift performance-critical stencil kernels from a stripped x86 binary and generate the corresponding code in the high-level domain-specific language Halide. Using Halide’s state-of-the-art optimizations targeting current hardware, we show that new optimized versions of these kernels can replace the originals to rejuvenate the application for newer hardware. The original optimized code for kernels in stripped binaries is nearly impossible to analyze statically. Instead, we rely on dynamic traces to regenerate the kernels. We perform buffer structure reconstruction to identify input, intermediate and output buffer shapes. We abstract from a forest of concrete dependency trees which contain absolute memory addresses to symbolic trees suitable for high-level code generation. This is done by canonicalizing trees, clustering them based on structure, inferring higher-dimensional buffer accesses and finally by solving a set of linear equations based on buffer accesses to lift them up to simple, high-level expressions. Helium can handle highly optimized, complex stencil kernels with input-dependent conditionals. We lift seven kernels from Adobe Photoshop giving a 75% performance improvement, four kernels from IrfanView, leading to 4.97× performance, and one stencil from the miniGMG multigrid benchmark netting a 4.25× improvement in performance. We manually rejuvenated Photoshop by replacing eleven of Photoshop’s filters with our lifted implementations, giving 1.12× speedup without affecting the user experience.


arXiv: Computational Geometry | 2015

Dissection with the Fewest Pieces is Hard, Even to Approximate

Jeffrey Bosboom; Erik D. Demaine; Martin L. Demaine; Jayson Lynch; Pasin Manurangsi; Mikhail Rudoy; Anak Yodpinyanee

We prove that it is NP-hard to dissect one simple orthogonal polygon into another using a given number of pieces, as is approximating the fewest pieces to within a factor of \(1+1/1080-\varepsilon \).


architectural support for programming languages and operating systems | 2018

Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs

Sumanaruban Rajadurai; Jeffrey Bosboom; Weng-Fai Wong; Saman P. Amarasinghe

An important class of applications computes on long-running or infinite streams of data, often with known fixed data rates. The latter is referred to as synchronous data flow ~(SDF) streams. These stream applications need to run on clusters or the cloud due to the high performance requirement. Further, they require live reconfiguration and reoptimization for various reasons such as hardware maintenance, elastic computation, or to respond to fluctuations in resources or application workload. However, reconfiguration and reoptimization without downtime while accurately preserving program state in a distributed environment is difficult. In this paper, we introduce Gloss, a suite of compiler and runtime techniques for live reconfiguration of distributed stream programs. Gloss, for the first time, avoids periods of zero throughput during the reconfiguration of both stateless and stateful SDF based stream programs. Furthermore, unlike other systems, Gloss globally reoptimizes and completely recompiles the program during reconfiguration. This permits it to reoptimize the application for entirely new configurations that it may not have encountered before. All these Gloss operations happen in-situ, requiring no extra hardware resources. We show how Gloss allows stream programs to reconfigure and reoptimize with no downtime and minimal overhead, and demonstrate the wider applicability of it via a variety of experiments.


Journal of Information Processing | 2017

Even 1 × n Edge-Matching and Jigsaw Puzzles are Really Hard

Jeffrey Bosboom; Erik D. Demaine; Martin L. Demaine; Adam Hesterberg; Pasin Manurangsi; Anak Yodpinyanee

We prove the computational intractability of rotating and placing n square tiles into a 1×n array such that adjacent tiles are compatible—either equal edge colors, as in edge-matching puzzles, or matching tab/pocket shapes, as in jigsaw puzzles. Beyond basic NP-hardness, we prove that it is NP-hard even to approximately maximize the number of placed tiles (allowing blanks), while satisfying the compatibility constraint between nonblank tiles, within a factor of 0.9999999851. (On the other hand, there is an easy 1 2 -approximation.) This is the first (correct) proof of inapproximability for edge-matching and jigsaw puzzles. Along the way, we prove NPhardness of distinguishing, for a directed graph on n nodes, between having a Hamiltonian path (length n− 1) and having at most 0.999999284(n− 1) edges that form a vertex-disjoint union of paths. We use this gap hardness and gap-preserving reductions to establish similar gap hardness for 1× n jigsaw and edge-matching puzzles.


Japanese Conference on Discrete and Computational Geometry and Graphs | 2015

Mario Kart Is Hard

Jeffrey Bosboom; Erik D. Demaine; Adam Hesterberg; Jayson Lynch; Erik Waingarten

Nintendo’s Mario Kart is perhaps the most popular racing video game franchise. Players race alone or against opponents to finish in the fastest time possible. Players can also use items to attack and defend from other racers. We prove two hardness results for generalized Mario Kart: deciding whether a driver can finish a course alone in some given time is \(\mathrm {NP}\)-hard, and deciding whether a player can beat an opponent in a race is \(\mathrm {PSPACE}\)-hard.


fun with algorithms | 2018

Computational Complexity of Generalized Push Fight.

Jeffrey Bosboom; Erik D. Demaine; Mikhail Rudoy


fun with algorithms | 2018

Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible

Zachary Abel; Jeffrey Bosboom; Erik D. Demaine; Linus Hamilton; Adam Hesterberg; Justin Kopinsky; Jayson Lynch; Mikhail Rudoy


arXiv: Computational Geometry | 2018

Path Puzzles: Discrete Tomography with a Path Constraint is Hard.

Jeffrey Bosboom; Erik D. Demaine; Martin L. Demaine; Adam Hesterberg; Roderick Kimball; Justin Kopinsky

Collaboration


Dive into the Jeffrey Bosboom's collaboration.

Top Co-Authors

Avatar

Erik D. Demaine

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Adam Hesterberg

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Jayson Lynch

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Martin L. Demaine

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Saman P. Amarasinghe

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Mikhail Rudoy

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Anak Yodpinyanee

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Justin Kopinsky

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge