Demo Data from SIGIR 2026 / reviewers in the wild / expert
Byoungro So
dblp:64/2972
· DBLP profile ↗
8ranked-venue papers
5as first author
0since 2021 · last 2011
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 3 first-authorSoftware engineering, systems software and programming languages · 4 · 3 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Electronic design automation · 85% Parallel and multicore computing · 15% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 94% Program analysis · 6% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Electronic design automation
design space exploration |
0.1 | 2 | 2003 | Using estimates from behavioral synthesis tools in compiler-directed design space exploration · DAC 2003 A Compiler Approach to Fast Hardware Design Space Exploration in FPGA-based Systems · PLDI 2002 |
Electronic design automation
high-level synthesis |
0.1 | 2 | 2003 | Using estimates from behavioral synthesis tools in compiler-directed design space exploration · DAC 2003 A Compiler Approach to Fast Hardware Design Space Exploration in FPGA-based Systems · PLDI 2002 |
Compilers and program optimization
loop transformation |
0.0 | 1 | 2002 | A Compiler Approach to Fast Hardware Design Space Exploration in FPGA-based Systems · PLDI 2002 |
Compilers and program optimization › loop transformation
loop unrolling |
0.0 | 1 | 2002 | A Compiler Approach to Fast Hardware Design Space Exploration in FPGA-based Systems · PLDI 2002 |
Compilers and program optimization › parallelization
automatic parallelization |
0.0 | 1 | 2000 | Evaluating Automatic Parallelization in SUIF · IEEE Trans. Parallel Distributed Syst. 2000 |
Parallel and multicore computing › parallelization strategies
run-time parallelization |
0.0 | 1 | 2000 | Evaluating Automatic Parallelization in SUIF · IEEE Trans. Parallel Distributed Syst. 2000 |
Compilers and program optimization › compiler optimization
compiler-directed optimization |
0.0 | 1 | 2003 | Using estimates from behavioral synthesis tools in compiler-directed design space exploration · DAC 2003 |
Program analysis
control flow analysis |
0.0 | 1 | 2000 | Evaluating Automatic Parallelization in SUIF · IEEE Trans. Parallel Distributed Syst. 2000 |
Compilers and program optimization
dependence analysis |
0.0 | 1 | 2000 | Evaluating Automatic Parallelization in SUIF · IEEE Trans. Parallel Distributed Syst. 2000 |
Methods — techniques the papers use, named apart from their topics
parallelizing compiler · 0.1behavioral synthesis · 0.1synthesis estimation · 0.1run-time parallelization testing · 0.1extended lazy privatizing doall test · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Intel's Array Building Blocks: A retargetable, dynamic compiler and embedded languageabstractOur ability to create systems with large amount of hardware parallelism is exceeding the average software developer's ability to effectively program them. This is a problem that plagues our industry. Since the vast majority of the world's software developers are not parallel programming experts, making it easy to write, port, and debug applications with sufficient core and vector parallelism is essential to enabling the use of multi- and many-core processor architectures. However, hardware architectures and vector ISAs are also shifting and diversifying quickly, making it difficult for a single binary to run well on all possible targets. Because of this, retargetability and dynamic compilation are of growing relevance. This paper introduces Intel®Array Building Blocks (ArBB), which is a retargetable dynamic compilation framework. This system focuses on making it easier to write and port programs so that they can harvest data and thread parallelism on both multi-core and heterogeneous many-core architectures, while staying within standard C++. ArBB interoperates with other programming models to help meet the demands we hear from customers for a solution with both greater programmer productivity and good performance. This work makes contributions in language features, compiler architecture, code transformations and optimizations. It presents performance data from the current beta release of ArBB and quantitatively shows the impact of some key analyses, enabling transformations and optimizations for a variety of benchmarks that are of interest to our customers. Chris J. Newburn, Byoungro So, Zhenying Liu, Michael D. McCool, Anwar M. Ghuloum, Stefanus Du Toit, Zhi-Gang Wang, Zhaohui Du, Yongjian Chen, Gansha Wu, Zhanglin Liu |
CGO | 2 |
| 2004 | Increasing the Applicability of Scalar Replacement
Byoungro So, Mary W. Hall |
CC | 1 |
| 2004 | Custom Data Layout for Memory ParallelismabstractWe describe a generalized approach to deriving a custom data layout in multiple memory banks for array-based computations, to facilitate high-bandwidth parallel memory accesses in modern architectures, where multiple memory banks can simultaneously feed one or more functional units. We do not use a fixed data layout, but rather select application-specific layouts according to access patterns in the code. A unique feature of this approach is its flexibility in the presence of code reordering transformations, such as the loop nest transformations commonly applied to array-based computations. We have implemented this algorithm in the DEFACTO system, a design environment for automatically mapping C programs to hardware implementations for FPGA-based systems. We present experimental results for five multimedia kernels that demonstrate the benefits of this approach. Our results show that custom data layout yields results as good as, or better than, naive or fixed cyclic layouts, and is significantly better for certain access patterns and in the presence of code reordering transformations. When used in conjunction with unrolling loops in a nest to expose instruction-level parallelism, we observe greater than a 75% reduction in the number of memory access cycles and speedups ranging from 3.96 to 46.7 for 8 memories, as compared to using a single memory with no unrolling. Byoungro So, Mary W. Hall, Heidi E. Ziegler |
CGO | 1 |
| 2003 | Using estimates from behavioral synthesis tools in compiler-directed design space explorationabstractThis paper considers the role of performance and area estimates from behavioral synthesis in design space exploration. We have developed a compilation system that automatically maps high-level algorithms written in C to application-specific designs for Field Programmable Gate Arrays (FPGAs), through a collaboration between parallelizing compiler technology and high-level synthesis tools. Using several code transformations, the compiler optimizes a design to increase parallelism and utilization of external memory bandwidth, and selects the best design among a set of candidates. Performance and area estimates from behavioral synthesis provide feedback to the compiler to guide this selection. Estimates can be derived far more quickly (up to several orders of magnitude faster) than full synthesis and place-and-route, thus allowing the compiler to consider many more designs than would otherwise be practical. In this paper, we examine the accuracy of the estimates from behavioral synthesis as compared to the fully synthesized designs for a collection of 209 designs for five multimedia kernels. Though the estimates are not completely accurate, our results show that the same design would be selected by the design space exploration algorithm, whether we use estimates or actual results from place-and-route, because it favors smaller designs and only increases complexity when the benefit is significant. Byoungro So, Pedro C. Diniz, Mary W. Hall |
DAC | 1 |
| 2002 | Coarse-Grain Pipelining on Multiple FPGA ArchitecturesabstractReconfigurable systems, and in particular, FPGA-based custom computing machines, offer a unique opportunity to define application-specific architectures. These architectures offer performance advantages for application domains such as image processing, where the use of customized pipelines exploits the inherent coarse-grain parallelism. In this paper we describe a set of program analyses and an implementation that map a sequential and un-annotated C program into a pipelined implementation running on a set of FPGAs, each with multiple external memories. Based on well-known parallel computing analysis techniques, our algorithms perform unrolling for operator parallelization, reuse and data layout for memory parallelization and precise communication analysis. We extend these techniques for FPGA-based systems to automatically partition the application data and computation into custom pipeline stages, taking into account the available FPGA and interconnect resources. We illustrate the analysis components by way of an example, a machine vision program. We present the algorithm results, derived with minimal manual intervention, which demonstrate the potential of this approach for automatically deriving pipelined designs from high-level sequential specifications. Heidi E. Ziegler, Byoungro So, Mary W. Hall, Pedro C. Diniz |
FCCM | 2 |
| 2002 | A Compiler Approach to Fast Hardware Design Space Exploration in FPGA-based SystemsabstractThe current practice of mapping computations to custom hardware implementations requires programmers to assume the role of hardware designers. In tuning the performance of their hardware implementation, designers manually apply loop transformations such as loop unrolling. designers manually apply loop transformations. For example, loop unrolling is used to expose instruction-level parallelism at the expense of more hardware resources for concurrent operator evaluation. Because unrolling also increases the amount of data a computation requires, too much unrolling can lead to a memory bound implementation where resources are idle. To negotiate inherent hardware space-time trade-offs, designers must engage in an iterative refinement cycle, at each step manually applying transformations and evaluating their impact. This process is not only error-prone and tedious but also prohibitively expensive given the large search spaces and with long synthesis times. This paper describes an automated approach to hardware design space exploration, through a collaboration between parallelizing compiler technology and high-level synthesis tools. We present a compiler algorithm that automatically explores the large design spaces resulting from the application of several program transformations commonly used in application-specific hardware designs. Our approach uses synthesis estimation techniques to quantitatively evaluate alternate designs for a loop nest computation. We have implemented this design space exploration algorithm in the context of a compilation and synthesis system called DEFACTO, and present results of this implementation on five multimedia kernels. Our algorithm derives an implementation that closely matches the performance of the fastest design in the design space, and among implementations with comparable performance, selects the smallest design. We search on average only 0.3% of the design space. This technology thus significantly raises the level of abstraction for hardware design and explores a design space much larger than is feasible for a human designer. Byoungro So, Mary W. Hall, Pedro C. Diniz |
PLDI | 1 |
| 2000 | Evaluating Automatic Parallelization in SUIFabstractThis paper presents the results of an experiment to measure empirically the remaining opportunities for exploiting loop-level parallelism that are missed by the Stanford SUIF compiler, a state-of-the-art automatic parallelization system targeting shared-memory multiprocessor architectures. For the purposes of this experiment, we have developed a run-time parallelization test called the Extended Lazy Privatizing Doall (ELPD) test, which is able to simultaneously test multiple loops in a loop nest. The ELPD test identifies a specific type of parallelism where each iteration of the loop being tested accesses independent data, possibly by making some of the data private to each processor. For 29 programs in three benchmark suites, the ELPD test was executed at run time for each candidate loop left unparallelized by the SUIF compiler to identify which of these loops could safely execute in parallel for the given program input. The results of this experiment point to two main requirements for improving the effectiveness of parallelizing compiler technology: incorporating control flow tests into analysis and extracting low-cost run-time parallelization tests from analysis results. Sungdo Moon, Byoungro So, Mary W. Hall |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 1998 | Measuring the Effectiveness of Automatic Parallelization in SUIFabstractThis paper presents both an experiment and a system for inserting run-time dependence and privatization testing. The goal of the experiment is to measure empirically the remaining opportunities for exploiting loop-level parallelism that are missed by state-of-theart parallelizing compiler technology. We perform run-time testing of data accessed within all candidate loops not parallelized by the compiler to identify which of these loops could safely execute in parallel for the given program input. This system extends the Lazy Privatizing Doall (LPD) test to simultaneously instrument multiple loops in a nest. Using the results of interprocedural array dataflow analysis, we avoid unnecessary instrumentation of arrays with compile-time provable dependences or loops nested inside outer parallelized loops. We have implemented the system in the Stanford SUIF compiler and have measured programs in three benchmark suites. 1 Introduction Parallelizing compilers are becoming increasingly success... Byoungro So, Sungdo Moon, Mary W. Hall |
International Conference on Supercomputing | 1 |