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

Ian Buck

dblp:32/2314 · DBLP profile ↗
← Back
12ranked-venue papers
2as first author
0since 2021 · last 2013
—ORCID · none

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

Systems, architecture and hardware · 7 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2Artificial intelligence and machine learning · 1Software engineering, systems software and programming languages · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 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
6 papers
GPUs and heterogeneous computing · 59% Interconnection networks and networks-on-chip · 10% Distributed systems · 10%
Computer graphics and multimedia
3 papers
Rendering · 100%

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

TopicWeightPapersLastEvidence papers
GPUs and heterogeneous computing
GPU computing
0.122006
S07 - GPGPU: general-purpose computation on graphics hardware · SC 2006
Brook for GPUs: stream computing on graphics hardware · ACM Trans. Graph. 2004
GPUs and heterogeneous computing
GPU performance analysis
0.112006
S07 - GPGPU: general-purpose computation on graphics hardware · SC 2006
GPUs and heterogeneous computing
GPU programming
0.112006
S07 - GPGPU: general-purpose computation on graphics hardware · SC 2006
Parallel and multicore computing › parallel algorithms › parallel primitives
data-parallel primitives
0.012004
Brook for GPUs: stream computing on graphics hardware · ACM Trans. Graph. 2004
GPUs and heterogeneous computing › GPU programming
GPU programming models
0.012004
Brook for GPUs: stream computing on graphics hardware · ACM Trans. Graph. 2004
Distributed systems
stream processing
0.012004
Brook for GPUs: stream computing on graphics hardware · ACM Trans. Graph. 2004
Processor architecture and microarchitecture › dataflow architecture
stream architecture
0.012003
Merrimac: Supercomputing with Streams · SC 2003
Rendering
ray tracing
0.012002
Ray tracing on programmable graphics hardware · ACM Trans. Graph. 2002
Rendering › parallel rendering › distributed rendering
cluster rendering
0.012001
WireGL: a scalable graphics system for clusters · SIGGRAPH 2001
Rendering
parallel rendering
0.012001
WireGL: a scalable graphics system for clusters · SIGGRAPH 2001
Rendering
graphics hardware
0.012006
S07 - GPGPU: general-purpose computation on graphics hardware · SC 2006
Compilers and program optimization › accelerator compilation
GPU compiler
0.012004
Brook for GPUs: stream computing on graphics hardware · ACM Trans. Graph. 2004
High-performance computing › supercomputing
supercomputing systems
0.012003
Merrimac: Supercomputing with Streams · SC 2003
GPUs and heterogeneous computing › GPU rendering
programmable graphics pipeline
0.012002
Ray tracing on programmable graphics hardware · ACM Trans. Graph. 2002
High-performance computing
cluster computing
0.012001
WireGL: a scalable graphics system for clusters · SIGGRAPH 2001

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

performance analysis · 0.1GPU programming · 0.1stream programming · 0.1compiler and runtime abstraction · 0.1whitted ray tracing · 0.1ray casting · 0.1path tracing · 0.1
YearPublicationVenuePosition
2013 Scalable SIMD-parallel memory allocation for many-core machines
Xiaohuang Huang, Christopher I. Rodrigues, Ian Buck, Wen-Mei W. Hwu
J. Supercomput.4
2009 Fast Parallel Expectation Maximization for Gaussian Mixture Models on GPUs Using CUDA
abstract
Expectation maximization (EM) algorithm is an iterative technique widely used in the fields of signal processing and data mining. We present a parallel implementation of EM for finding maximum likelihood estimates of parameters of Gaussian mixture models, designed for many-core architecture of Graphics Processing Units (GPU). The algorithm is implemented on NVIDIA's GPUs using CUDA, following the single instruction multiple threads model. In this paper, the emphasis is laid on exploiting the data parallelism with CUDA, thus accelerating the computations. CUDA implementation of EM is designed in such a way that the speed of computation of the algorithm scales up with the number of GPU cores. Experimental results confirm the scalability across cores. The results also show that CUDA implementation of EM when applied to an input of 230 K for a 32-order mixture of 32-dimensional Gaussian model takes 264 msec on Quadro FX 5800 (NVIDIA 200 series) with 240 cores to complete one iteration which is about 164 times faster when compared to a naive single threaded C implementation on CPU.
N. S. L. Phani Kumar, Sanjiv Satoor, Ian Buck
HPCC3
2007 GPU Computing: Programming a Massively Parallel Processor
abstract
Summary form only given. Many researchers have observed that general purpose computing with programmable graphics hardware (GPUs) has shown promise to solve many of the world's compute intensive problems, many orders of magnitude faster the conventional CPUs. The challenge has been working within the constraints of a graphics programming environment and limited language support to leverage this huge performance potential. GPU computing with CUDA is a new approach to computing where hundreds of on-chip processor cores simultaneously communicate and cooperate to solve complex computing problems, transforming the GPU into a massively parallel processor. The NVIDIA C-compiler for the GPU provides a complete development environment that gives developers the tools they need to solve new problems in computation-intensive applications such as product design, data analysis, technical computing, and game physics. In this talk, I will provide a description of how CUDA can solve compute intensive problems and highlight the challenges when compiling parallel programs for GPUs including the differences between graphics shaders vs. CUDA applications
Ian Buck
CGO1
2007 The future of multi-core technologies
Michael T. Clark, H. Peter Hofstee, Edward J. Barragy, Ian Buck, Stephen W. Keckler
CLUSTER4
2006 S07 - GPGPU: general-purpose computation on graphics hardware
abstract
The graphics processor (GPU) on today's commodity video cards has evolved into an extremely powerful and flexible processor. Modern graphics architectures provide tremendous memory bandwidth and computational horsepower, with dozens of fully programmable shading units that support vector operations and IEEE floating point precision. High-level languages have emerged for graphics hardware, making this computational power accessible. GPGPU stands for "General-Purpose Computation on GPUs". GPGPU researchers have achieved over an order of magnitude speedup over modern CPUs on some non-graphics problems.This course provides detailed coverage of general-purpose computation on graphics hardware. We emphasize core computational building blocks, ranging from linear algebra to database queries, and review the tools, perils, and strategies in GPU programming. We present analysis of GPU performance characteristics, and use this analysis to provide insight into how to build efficient GPGPU algorithms. Finally we present a set of case studies on general-purpose applications of graphics hardware.
David P. Luebke, Mark J. Harris, Naga K. Govindaraju, Aaron E. Lefohn, Mike Houston, John D. Owens, Mark Segal, Matthew Papakipos, Ian Buck
SC9
2005 Using GPUs for Machine Learning Algorithms
abstract
Using dedicated hardware to do machine learning typically ends up in disaster because of cost, obsolescence, and poor software. The popularization of graphic processing units (GPUs), which are now available on every PC, provides an attractive alternative. We propose a generic 2-layer fully connected neural network GPU implementation which yields over 3/spl times/ speedup for both training and testing with respect to a 3 GHz P4 CPU.
Dave Steinkrau, Patrice Y. Simard, Ian Buck
ICDAR3
2005 General Purpose Computation on Graphics Hardware
Aaron E. Lefohn, Ian Buck, Patrick S. McCormick, John D. Owens, Timothy J. Purcell, Robert Strzodka
IEEE Visualization2
2004 Brook for GPUs: stream computing on graphics hardware
abstract
In this paper, we present Brook for GPUs, a system for general-purpose computation on programmable graphics hardware. Brook extends C to include simple data-parallel constructs, enabling the use of the GPU as a streaming co-processor. We present a compiler and runtime system that abstracts and virtualizes many aspects of graphics hardware. In addition, we present an analysis of the effectiveness of the GPU as a compute engine compared to the CPU, to determine when the GPU can outperform the CPU for a particular algorithm. We evaluate our system with five applications, the SAXPY and SGEMV BLAS operators, image segmentation, FFT, and ray tracing. For these applications, we demonstrate that our Brook implementations perform comparably to hand-written GPU code and up to seven times faster than their CPU counterparts.
Ian Buck, Theresa Foley, Daniel Reiter Horn, Jeremy Sugerman, Kayvon Fatahalian, Mike Houston, Pat Hanrahan
ACM Trans. Graph.1
2003 Merrimac: Supercomputing with Streams
abstract
Merrimac uses stream architecture and advanced interconnection networks to give an order of magnitude more performance per unit cost than cluster-based scientific computers built from the same technology. Organizing the computation into streams and exploiting the resulting locality using a register hierarchy enables a stream architecture to reduce the memory bandwidth required by representative applications by an order of magnitude or more. Hence a processing node with a fixed bandwidth (expensive) can support an order of magnitude more arithmetic units (inexpensive). This in turn allows a given level of performance to be achieved with fewer nodes (a 1-PFLOPS machine, for example, with just 8,192 nodes) resulting in greater reliability, and simpler system management. We sketch the design of Merrimac, a streaming scientific computer that can be scaled from a $20K 2 TFLOPS workstation to a $20M 2 PFLOPS supercomputer and present the results of some initial application experiments on this architecture.
William J. Dally, Francois Labonte, Pat Hanrahan, Jung Ho Ahn, Jayanth Gummaraju, Mattan Erez, Nuwan Jayasena, Ian Buck, Timothy J. Knight, Ujval J. Kapasi
SC9
2002 Ray tracing on programmable graphics hardware
abstract
Recently a breakthrough has occurred in graphics hardware: fixed function pipelines have been replaced with programmable vertex and fragment processors. In the near future, the graphics pipeline is likely to evolve into a general programmable stream processor capable of more than simply feed-forward triangle rendering.In this paper, we evaluate these trends in programmability of the graphics pipeline and explain how ray tracing can be mapped to graphics hardware. Using our simulator, we analyze the performance of a ray casting implementation on next generation programmable graphics hardware. In addition, we compare the performance difference between non-branching programmable hardware using a multipass implementation and an architecture that supports branching. We also show how this approach is applicable to other ray tracing algorithms such as Whitted ray tracing, path tracing, and hybrid rendering algorithms. Finally, we demonstrate that ray tracing on graphics hardware could prove to be faster than CPU based implementations as well as competitive with traditional hardware accelerated feed-forward triangle rendering.
Timothy J. Purcell, Ian Buck, William R. Mark, Pat Hanrahan
ACM Trans. Graph.2
2001 WireGL: a scalable graphics system for clusters
abstract
We describe WireGL, a system for scalable interactive rendering on a cluster of workstations. WireGL provides the familiar OpenGL API to each node in a cluster, virtualizing multiple graphics accelerators into a sort-first parallel renderer with a parallel interface. We also describe techniques for reassembling an output image from a set of tiles distributed over a cluster. Using flexible display management, WireGL can drive a variety of output devices, from standalone displays to tiled display walls. By combining the power of virtual graphics, the familiarity and ordered semantics of OpenGL, and the scalability of clusters, we are able to create time-varying visualizations that sustain rendering performance over 70,000,000 triangles per second at interactive refresh rates using 16 compute nodes and 16 rendering nodes.
Greg Humphreys, Matthew Eldridge, Ian Buck, Gordon Stoll, Matthew Everett, Pat Hanrahan
SIGGRAPH3
2000 Distributed Rendering for Scalable Displays
abstract
We describe a novel distributed graphics system that allows an application to render to a large tiled display. Our system, called WireGL, uses a cluster of off-the-shelf PCs connected with a high-speed network. WireGL allows an unmodified existing application to achieve scalable output resolution on such a display. This paper presents an efficient sorting algorithm which minimizes the network traffic for a scalable display. We will demonstrate that for most applications, our system provides scalable output resolution with minimal performance impact.
Greg Humphreys, Ian Buck, Matthew Eldridge, Pat Hanrahan
SC2