Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Hee-Seok Kim

dblp:86/9415 · DBLP profile ↗
← Back
8ranked-venue papers
3as first author
1since 2021 · last 2023
0000-0003-0099-7413ORCID · corroborated

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 · 3 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 since 2021

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
High-performance computing · 50% Parallel and multicore computing · 22% GPUs and heterogeneous computing · 13%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
autotuning
0.212016
A programming system for future proofing performance critical libraries · PPoPP 2016
Parallel and multicore computing
parallel programming runtimes
0.212016
DySel: Lightweight Dynamic Selection for Kernel-based Data-parallel Programming Model · ASPLOS 2016
High-performance computing › performance engineering
performance portability
0.212016
A programming system for future proofing performance critical libraries · PPoPP 2016
GPUs and heterogeneous computing
GPU computing
0.112012
A scalable, numerically stable, high-performance tridiagonal solver using GPUs · SC 2012
High-performance computing › sparse linear solver
tridiagonal solver
0.112012
A scalable, numerically stable, high-performance tridiagonal solver using GPUs · SC 2012
Performance modeling and evaluation › performance prediction
execution time prediction
0.112016
DySel: Lightweight Dynamic Selection for Kernel-based Data-parallel Programming Model · ASPLOS 2016
Memory systems › data layout optimization
data layout reorganization
0.012012
A scalable, numerically stable, high-performance tridiagonal solver using GPUs · SC 2012
Memory systems
memory access optimization
0.012012
A scalable, numerically stable, high-performance tridiagonal solver using GPUs · SC 2012
High-performance computing
numerical linear algebra
0.012012
A scalable, numerically stable, high-performance tridiagonal solver using GPUs · SC 2012
High-performance computing
scalable solver
0.012012
A scalable, numerically stable, high-performance tridiagonal solver using GPUs · SC 2012

Methods — techniques the papers use, named apart from their topics

micro-profiling · 0.8hierarchical composition · 0.5data placement · 0.5coarsening · 0.5dynamic selection · 0.2dynamic tiling · 0.1diagonal pivoting · 0.1SPIKE algorithm · 0.1
YearPublicationVenuePosition
2023 Secure Multi-Party Computation for Personalized Human Activity Recognition
David Melanson, Ricardo Maia 0001, Hee-Seok Kim, Anderson C. A. Nascimento, Martine De Cock
Neural Process. Lett.3
2016 DySel: Lightweight Dynamic Selection for Kernel-based Data-parallel Programming Model
abstract
The rising pressure for simultaneously improving performance and reducing power is driving more diversity into all aspects of computing devices. An algorithm that is well-matched to the target hardware can run multiple times faster and more energy efficiently than one that is not. The problem is complicated by the fact that a program's input also affects the appropriate choice of algorithm. As a result, software developers have been faced with the challenge of determining the appropriate algorithm for each potential combination of target device and data. This paper presents DySel, a novel runtime system for automating such determination for kernel-based data parallel programming models such as OpenCL, CUDA, OpenACC, and C++AMP. These programming models cover many applications that demand high performance in mobile, cloud and high-performance computing. DySel systematically deploys candidate kernels on a small portion of the actual data to determine which achieves the best performance for the hardware-data combination. The test-deployment, referred to as micro-profiling, contributes to the final execution result and incurs less than 8% of overhead in the worst observed case when compared to an oracle. We show four major use cases where DySel provides significantly more consistent performance without tedious effort from the developer.
Li-Wen Chang, Hee-Seok Kim, Wen-Mei W. Hwu
ASPLOS2
2016 A programming system for future proofing performance critical libraries
abstract
We present Tangram, a programming system for writing performance-portable programs. The language enables programmers to write computation and composition codelets, supported by tuning knobs and primitives for expressing data parallelism and work decomposition. The compiler and runtime use a set of techniques such as hierarchical composition, coarsening, data placement, tuning, and runtime selection based on input characteristics and micro-profiling. The resulting performance is competitive with optimized vendor libraries.
Li-Wen Chang, Izzat El Hajj, Hee-Seok Kim, Juan Gómez-Luna, Abdul Dakkak, Wen-Mei W. Hwu
PPoPP3
2015 Locality-centric thread scheduling for bulk-synchronous programming models on CPU architectures
abstract
With heterogeneous computing on the rise, executing programs efficiently on different devices from a single source code has become increasingly important. OpenCL, having a bulk-synchronous programming model, has been proposed as a framework for writing such performance-portable programs. Execution order of work-items in a program is unconstrained except at barrier synchronization events, giving some freedom to an implementation when scheduling work-items between synchronization points. Many OpenCL (and CUDA) compilers have been designed for targeting multicore CPU architectures. However, scheduling work-items in prior work has been done with primary focus on correctness and vectorization. To the best of our knowledge, no existing implementations consider the impact of work-item scheduling on data locality. We propose an OpenCL compiler that performs data-locality-centric work-item scheduling. By analyzing the memory addresses accessed in loops within a kernel, our technique can make better decisions on how to schedule work-items to construct better memory access patterns, thereby improving performance. Our approach achieves geomean speedups of 3.32× over AMD's and 1.71 × over Intel's implementations on Parboil and Rodinia benchmarks.
Hee-Seok Kim, Izzat El Hajj, John A. Stratton, Steven S. Lumetta, Wen-Mei W. Hwu
CGO1
2012 Design evaluation of OpenCL compiler framework for Coarse-Grained Reconfigurable Arrays
abstract
OpenCL is undoubtedly becoming one of the most popular parallel programming languages as it provides a standardized and portable programming model. However, adopting OpenCL for Coarse-Grained Reconfigurable Arrays (CGRA) is challenging due to divergent architecture capability compared to GPUs. In particular, CGRAs are designed to accelerate loop execution by software pipelining on a grid of functional units exploiting instruction-level parallelism. This is vastly different from a GPU in that it executes data parallel kernels using a large number of parallel threads. Therefore, an OpenCL compiler and runtime for CGRAs must map the threaded parallel programming model to a loop-parallel execution model so that the architecture can best utilize its resources. In this paper, we propose and evaluate a design for an OpenCL compiler framework for CGRAs. The proposed design is composed of a serializer and post optimizer. The serializer transforms parallel execution of work-items to an equivalent loop-based iterative execution in order to avoid expensive multithreading on CGRAs. The resulting code is further optimized by the post optimizer to maximize the coverage of software-pipelinable innermost loops. In order to achieve the goal, various loop-level optimizations can take place in the post optimizer using the loops introduced by the serializer for iterative execution of OpenCL kernels. We provide an analysis of the propose framework from a set of well-studied standard OpenCL kernels by comparing performance of various implementations of benchmarks.
Hee-Seok Kim, Minwook Ahn, John A. Stratton, Wen-Mei W. Hwu
FPT1
2012 A scalable, numerically stable, high-performance tridiagonal solver using GPUs
abstract
In this paper, we present a scalable, numerically stable, high-performance tridiagonal solver. The solver is based on the SPIKE algorithm for partitioning a large matrix into small independent matrices, which can be solved in parallel. For each small matrix, our solver applies a general 1-by-1 or 2-by-2 diagonal pivoting algorithm, which is also known to be numerically stable. Our paper makes two major contributions. First, our solver is the first numerically stable tridiagonal solver for GPUs. Our solver provides comparable quality of stable solutions to Intel MKL and Matlab, at speed comparable to the GPU tridiagonal solvers in existing packages like CUSPARSE. It is also scalable to multiple GPUs and CPUs. Second, we present and analyze two key optimization strategies for our solver: a high-throughput data layout transformation for memory efficiency, and a dynamic tiling approach for reducing the memory access footprint caused by branch divergence.
Li-Wen Chang, John A. Stratton, Hee-Seok Kim, Wen-Mei W. Hwu
SC3
2011 A Scalable Tridiagonal Solver for GPUs
abstract
We present the design and evaluation of a scalable tridiagonal solver targeted for GPU architectures. We observed that two distinct steps are required to solve a large tridiagonal system in parallel: 1) breaking down a problem into multiple sub problems each of which is independent of other, and 2) solving the sub problems using an efficient algorithm. We propose a hybrid method of tiled parallel cyclic reduction(tiled PCR) and thread-level parallel Thomas algorithm(p-Thomas). Algorithm transition from tiled PCR to p-Thomas is determined by input system size and hardware capability in order to achieve optimal performance. The proposed method is scalable as it can cope with various input system sizes by properly adjusting algorithm trasition point. Our method on a NVidia GTX480 shows up to 8.3x and 49x speedups over multithreaded and sequential MKL implementations on a 3.33GHz Intel i7 975 in double precision, respectively.
Hee-Seok Kim, Shengzhao Wu, Li-Wen Chang, Wen-Mei W. Hwu
ICPP1
2011 An instruction-scheduling-aware data partitioning technique for coarse-grained reconfigurable architectures
abstract
In this paper, we propose a data partitioning technique for the memory subsystem that consists of a multi-ported scratchpad memory (SPM) unit and a single-ported data cache in coarse-grained reconfigurable arrays (CGRA) architecture. The embedded reconfigurable processor executes programs by switching between the Non-VLIW and VLIW modes depending on the type of the code region to achieve high performance. The VLIW mode exploits code regions with high ILP that require high memory bandwidth and the Non-VLIW mode exploits those with low ILP that require low memory latency. Our data partitioning technique between the SPM and the data cache is based on data interference graph reduction and profiling information. Given an SPM size, it finds the optimal data partitions by taking the VLIW instruction schedule into consideration. We evaluate our data partitioning technique for the CGRA architecture with three representative multimedia applications.
Choonki Jang, Jaejin Lee, Hee-Seok Kim, Donghoon Yoo, Sukjin Kim, Hongseok Kim, Soojung Ryu
LCTES4