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

George L. Yuan

dblp:50/6765 · DBLP profile ↗
← Back
4ranked-venue papers
1as first author
0since 2021 · last 2009
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 3 · 1 first-authorSoftware engineering, systems software and programming languages · 1

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
GPUs and heterogeneous computing · 48% Memory systems · 28% Processor architecture and microarchitecture · 22%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
control flow
0.222009
Dynamic warp formation: Efficient MIMD control flow on SIMD graphics hardware · ACM Trans. Archit. Code Optim. 2009
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow · MICRO 2007
Memory systems
DRAM
0.112009
Complexity effective memory access scheduling for many-core accelerator architectures · MICRO 2009
GPUs and heterogeneous computing
GPU architecture
0.112009
Dynamic warp formation: Efficient MIMD control flow on SIMD graphics hardware · ACM Trans. Archit. Code Optim. 2009
Memory systems › memory controller
memory scheduling
0.112009
Complexity effective memory access scheduling for many-core accelerator architectures · MICRO 2009
GPUs and heterogeneous computing › control flow divergence
branch divergence
0.112007
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow · MICRO 2007
GPUs and heterogeneous computing › GPU microarchitecture
SIMT architecture
0.112007
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow · MICRO 2007
GPUs and heterogeneous computing › GPU scheduling
warp scheduling
0.112007
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow · MICRO 2007
GPUs and heterogeneous computing
control flow divergence
0.012009
Dynamic warp formation: Efficient MIMD control flow on SIMD graphics hardware · ACM Trans. Archit. Code Optim. 2009
Memory systems › memory controller
DRAM scheduling
0.012009
Complexity effective memory access scheduling for many-core accelerator architectures · MICRO 2009
GPUs and heterogeneous computing › GPU memory
GPU memory hierarchy
0.012009
Complexity effective memory access scheduling for many-core accelerator architectures · MICRO 2009
Parallel and multicore computing
thread-level parallelism
0.012007
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow · MICRO 2007

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

interconnection network arbitration · 0.1dynamic warp formation · 0.1banked FIFO in-order scheduling · 0.1dynamic thread regrouping · 0.1
YearPublicationVenuePosition
2009 Analyzing CUDA workloads using a detailed GPU simulator
abstract
Modern Graphic Processing Units (GPUs) provide sufficiently flexible programming models that understanding their performance can provide insight in designing tomorrow's manycore processors, whether those are GPUs or otherwise. The combination of multiple, multithreaded, SIMD cores makes studying these GPUs useful in understanding tradeoffs among memory, data, and thread level parallelism. While modern GPUs offer orders of magnitude more raw computing power than contemporary CPUs, many important applications, even those with abundant data level parallelism, do not achieve peak performance. This paper characterizes several non-graphics applications written in NVIDIA's CUDA programming model by running them on a novel detailed microarchitecture performance simulator that runs NVIDIA's parallel thread execution (PTX) virtual instruction set. For this study, we selected twelve non-trivial CUDA applications demonstrating varying levels of performance improvement on GPU hardware (versus a CPU-only sequential version of the application). We study the performance of these applications on our GPU performance simulator with configurations comparable to contemporary high-end graphics cards. We characterize the performance impact of several microarchitecture design choices including choice of interconnect topology, use of caches, design of memory controller, parallel workload distribution mechanisms, and memory request coalescing hardware. Two observations we make are (1) that for the applications we study, performance is more sensitive to interconnect bisection bandwidth rather than latency, and (2) that, for some applications, running fewer threads concurrently than on-chip resources might otherwise allow can improve performance by reducing contention in the memory system.
Ali Bakhoda, George L. Yuan, Wilson W. L. Fung, Henry Wong, Tor M. Aamodt
ISPASS2
2009 Complexity effective memory access scheduling for many-core accelerator architectures
abstract
Modern DRAM systems rely on memory controllers that employ out-of-order scheduling to maximize row access lo-cality and bank-level parallelism, which in turn maximizes DRAM bandwidth. This is especially important in graphics processing unit (GPU) architectures, where the large quan-tity of parallelism places a heavy demand on the memory system. The logic needed for out-of-order scheduling can be expensive in terms of area, especially when compared to an in-order scheduling approach. In this paper, we propose a complexity-effective solution to DRAM request schedul-ing which recovers most of the performance loss incurred by a naive in-order first-in first-out (FIFO) DRAM scheduler compared to an aggressive out-of-order DRAM scheduler. We observe that the memory request stream from individual GPU“shader cores ” tends to have sufficient row access local-ity to maximize DRAM efficiency in most applications with-out significant reordering. However, the interconnection net-work across which memory requests are sent from the shader cores to the DRAM controller tends to finely interleave the numerous memory request streams in a way that destroys the row access locality of the resultant stream seen at the DRAM controller. To address this, we employ an intercon-nection network arbitration scheme that preserves the row access locality of individual memory request streams and, in doing so, achieves DRAM efficiency and system perfor-mance close to that achievable by using out-of-order mem-ory request scheduling while doing so with a simpler de-sign. We evaluate our interconnection network arbitration scheme using crossbar, mesh, and ring networks for a base-line architecture of 8 memory channels, each controlled by its own DRAM controller and 28 shader cores (224 ALUs), supporting up to 1,792 in-flight memory requests. Our re-sults show that our interconnect arbitration scheme coupled with a banked FIFO in-order scheduler obtains up to 91% of the performance obtainable with an out-of-order memory scheduler for a crossbar network with eight-entry DRAM controller queues.
George L. Yuan, Ali Bakhoda, Tor M. Aamodt
MICRO1
2009 Dynamic warp formation: Efficient MIMD control flow on SIMD graphics hardware
abstract
Recent advances in graphics processing units (GPUs) have resulted in massively parallel hardware that is easily programmable and widely available in today's desktop and notebook computer systems. GPUs typically use single-instruction, multiple-data (SIMD) pipelines to achieve high performance with minimal overhead for control hardware. Scalar threads running the same computing kernel are grouped together into SIMD batches, sometimes referred to as warps. While SIMD is ideally suited for simple programs, recent GPUs include control flow instructions in the GPU instruction set architecture and programs using these instructions may experience reduced performance due to the way branch execution is supported in hardware. One solution is to add a stack to allow different SIMD processing elements to execute distinct program paths after a branch instruction. The occurrence of diverging branch outcomes for different processing elements significantly degrades performance using this approach. In this article, we propose dynamic warp formation and scheduling, a mechanism for more efficient SIMD branch execution on GPUs. It dynamically regroups threads into new warps on the fly following the occurrence of diverging branch outcomes. We show that a realistic hardware implementation of this mechanism improves performance by 13%, on average, with 256 threads per core, 24% with 512 threads, and 47% with 768 threads for an estimated area increase of 8%.
Wilson W. L. Fung, Ivan Sham, George L. Yuan, Tor M. Aamodt
ACM Trans. Archit. Code Optim.3
2007 Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow
abstract
Recent advances in graphics processing units (GPUs) have resulted in massively parallel hardware that is easily programmable and widely available in commodity desktop computer systems. GPUs typically use single-instruction, multiple-data (SIMD) pipelines to achieve high performance with minimal overhead incurred by control hardware. Scalar threads are grouped together into SIMD batches, sometimes referred to as warps. While SIMD is ideally suited for simple programs, recent GPUs include control flow instructions in the GPU instruction set architecture and programs using these instructions may experience reduced performance due to the way branch execution is supported by hardware. One approach is to add a stack to allow different SIMD processing elements to execute distinct program paths after a branch instruction. The occurrence of diverging branch outcomes for different processing elements significantly degrades performance. In this paper, we explore mechanisms for more efficient SIMD branch execution on GPUs. We show that a realistic hardware implementation that dynamically regroups threads into new warps on the fly following the occurrence of diverging branch outcomes improves performance by an average of 20.7% for an estimated area increase of 4.7%.
Wilson W. L. Fung, Ivan Sham, George L. Yuan, Tor M. Aamodt
MICRO3