Network


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

Hotspot


Dive into the research topics where Mark J. Harris is active.

Publication


Featured researches published by Mark J. Harris.


eurographics | 2007

A Survey of General-Purpose Computation on Graphics Hardware

John D. Owens; David Luebke; Naga K. Govindaraju; Mark J. Harris; Jens H. Krüger; Aaron E. Lefohn; Timothy John Purcell

The rapid increase in the performance of graphics hardware, coupled with recent improvements in its programmability, have made graphics hardware a compelling platform for computationally demanding tasks in a wide variety of application domains. In this report, we describe, summarize, and analyze the latest research in mapping general‐purpose computation to graphics hardware.


international conference on computer graphics and interactive techniques | 2007

Scan primitives for GPU computing

Shubhabrata Sengupta; Mark J. Harris; Yao Zhang; John D. Owens

The scan primitives are powerful, general-purpose data-parallel primitives that are building blocks for a broad range of applications. We describe GPU implementations of these primitives, specifically an efficient formulation and implementation of segmented scan, on NVIDIA GPUs using the CUDA API. Using the scan primitives, we show novel GPU implementations of quicksort and sparse matrix-vector multiply, and analyze the performance of the scan primitives, several sort algorithms that use the scan primitives, and a graphical shallow-water fluid simulation using the scan framework for a tridiagonal matrix solver.


international parallel and distributed processing symposium | 2009

Designing efficient sorting algorithms for manycore GPUs

Nadathur Satish; Mark J. Harris; Michael Garland

We describe the design of high-performance parallel radix sort and merge sort routines for manycore GPUs, taking advantage of the full programmability offered by CUDA. Our radix sort is the fastest GPU sort and our merge sort is the fastest comparison-based sort reported in the literature. Our radix sort is up to 4 times faster than the graphics-based GPUSort and greater than 2 times faster than other CUDA-based radix sorts. It is also 23% faster, on average, than even a very carefully optimized multicore CPU sorting routine. To achieve this performance, we carefully design our algorithms to expose substantial fine-grained parallelism and decompose the computation into independent tasks that perform minimal global communication. We exploit the high-speed onchip shared memory provided by NVIDIAs GPU architecture and efficient data-parallel primitives, particularly parallel scan. While targeted at GPUs, these algorithms should also be well-suited for other manycore processors.


international conference on computer graphics and interactive techniques | 2004

GPGPU: general purpose computation on graphics hardware

David Luebke; Mark J. Harris; Jens H. Krüger; Timothy John Purcell; Naga K. Govindaraju; Ian Buck; Cliff Woolley; Aaron E. Lefohn

The graphics processor (GPU) on todays commodity video cards has evolved into an extremely powerful and flexible processor. The latest graphics architectures provide tremendous memory bandwidth and computational horsepower, with fully programmable vertex and pixel processing units that support vector operations up to full IEEE floating point precision. High level languages have emerged for graphics hardware, making this computational power accessible. Architecturally, GPUs are highly parallel streaming processors optimized for vector operations, with both MIMD (vertex) and SIMD (pixel) pipelines. Not surprisingly, these processors are capable of general-purpose computation beyond the graphics applications for which they were designed. Researchers have found that exploiting the GPU can accelerate some problems by over an order of magnitude over the CPU.However, significant barriers still exist for the developer who wishes to use the inexpensive power of commodity graphics hardware, whether for in-game simulation of physics of for conventional computational science. These chips are designed for and driven by video game development; the programming model is unusual, the programming environment is tightly constrained, and the underlying architectures are largely secret. The GPU developer must be an expert in computer graphics and its computational idioms to make effective use of the hardware, and still pitfalls abound. This course provides a detailed introduction to general purpose computation on graphics hardware (GPGPU). We emphasize core computational building blocks, ranging from linear algebra to database queries, and review the tools, perils, and tricks of the trade in GPU programming. Finally we present some interesting and important case studies on general-purpose applications of graphics hardware.The course presenters are experts on general-purpose GPU computation from academia and industry, and have presented papers and tutorials on the topic at SIGGRAPH, Graphics Hardware, Game Developers Conference, and elsewhere.


non-photorealistic animation and rendering | 2000

Stylized rendering techniques for scalable real-time 3D animation

Adam Portland Lake; Carl S. Marshall; Mark J. Harris; Marc Blackstein

Researchers in nonphotorealistic rendering (NPR) have investigated a variety of techniques to simulate the styles of artists. Recent work has resulted in methods for pen-and-ink illustration, pencil sketching, watercolor, engraving, and silhouette edge rendering. This paper presents real-time methods to emulate cartoon styles. We also present variations on a texture mapping technique to achieve real-time pencil sketching. We demonstrate our method of inking silhouettes, material and mesh boundaries, and crease edges. In addition, we present techniques for emphasizing motion of cartoon objects by introducing geometry into the cartoon scene. The rendering system is integrated with an animation system and a runtime multiresolution mesh (MRM) system to achieve scalability, ensuring real-time performance on any platform. Such solutions allow us to take advantage of evolving hardware in order to make nonphotorealistic animation and rendering achievable on lowand high-end consumer platforms. All of the techniques described can be applied to models created with standard modeling tools and require no additional mark-up information from the modeler. CR


international conference on computer graphics and interactive techniques | 2005

Mapping computational concepts to GPUs

Mark J. Harris

Recently, graphics processors have emerged as a powerful computational platform. A variety of encouraging results, mostly from researchers using GPUs to accelerate scientific computing and visualization applications, have shown that significant speedups can be achieved by applying GPUs to data-parallel computational problems. However, attaining these speedups requires knowledge of GPU programming and architecture.The preceding chapters have described the architecture of modern GPUs and the trends that govern their performance and design. Continuing from the concepts introduced in those chapters, in this chapter we present intuitive mappings of standard computational concepts onto the special-purpose features of GPUs. After presenting the basics, we introduce a simple GPU programming framework and demonstrate the use of the framework in a short sample program.


Computer Graphics Forum | 2001

Real-Time Cloud Rendering

Mark J. Harris; Anselmo Lastra

This paper presents a method for realistic real‐time rendering of clouds suitable for flight simulation and games. It provides a cloud shading algorithm that approximates multiple forward scattering in a preprocess, and first order anisotropic scattering at runtime. Impostors are used to accelerate cloud rendering by exploiting frame‐to‐frame coherence in an interactive flight simulation. Impostors are shown to be particularly well suited to clouds, even in circumstances under which they cannot be applied to the rendering of polygonal geometry. The method allows hundreds of clouds and hundreds of thousands of particles to be rendered at high frame rates, and improves interaction with clouds by reducing artifacts introduced by direct particle rendering techniques.


international conference on computer graphics and interactive techniques | 2005

Physically-based visual simulation on graphics hardware

Mark J. Harris; Greg Coombe; Thorsten Scheuermann; Anselmo Lastra

In this paper, we present a method for real-time visual simulation of diverse dynamic phenomena using programmable graphics hardware. The simulations we implement use an extension of cellular automata known as the coupled map lattice (CML). CML represents the state of a dynamic system as continuous values on a discrete lattice. In our implementation we store the lattice values in a texture, and use pixel-level programming to implement simple next-state computations on lattice nodes and their neighbors. We apply these computations successively to produce interactive visual simulations of convection, reaction-diffusion, and boiling. We have built an interactive framework for building and experimenting with CML simulations running on graphics hardware, and have integrated them into interactive 3D graphics applications.In this paper, we present a method for real-time visual simulation of diverse dynamic phenomena using programmable graphics hardware. The simulations we implement use an extension of cellular automata known as the coupled map lattice (CML). CML represents the state of a dynamic system as continuous values on a discrete lattice. In our implementation we store the lattice values in a texture, and use pixel-level programming to implement simple next-state computations on lattice nodes and their neighbors. We apply these computations successively to produce interactive visual simulations of convection, reaction-diffusion, and boiling. We have built an interactive framework for building and experimenting with CML simulations running on graphics hardware, and have integrated them into interactive 3D graphics applications.


international conference on computer graphics and interactive techniques | 2005

Fast fluid dynamics simulation on the GPU

Mark J. Harris

This chapter describes a method for fast, stable fluid simulation that runs entirely on the GPU. It introduces fluid dynamics and the associated mathematics, and it describes in detail the techniques to perform the simulation on the GPU. After reading this chapter, you should have a basic understanding of fluid dynamics and know how to simulate fluids using the GPU. The source code accompanying this book demonstrates the techniques described in this chapter.


international conference on computer graphics and interactive techniques | 2005

Real-time cloud simulation and rendering

Mark J. Harris

Clouds are a ubiquitous, awe-inspiring, and ever-changing feature of the outdoors. They are an integral factor in Earths weather systems, and a strong indicator of weather patterns and changes. Their effects and indications are important to flight and flight training. Clouds are an important component of the visual simulation of any outdoor scene, but the complexity of cloud formation, dynamics, and light interaction makes cloud simulation and rendering difficult in real time. In an interactive flight simulation, users would like to fly in and around realistic, volumetric clouds, and to see other aircraft convincingly pass within and behind them. Ideally, simulated clouds would grow and disperse as real clouds do, and move in response to wind and other forces. Simulated clouds should be realistically illuminated by direct sunlight, internal scattering, and reflections from the sky and the earth below. Previous real-time techniques have not provided users with such experiences.

Collaboration


Dive into the Mark J. Harris's collaboration.

Top Co-Authors

Avatar

Anselmo Lastra

University of North Carolina at Chapel Hill

View shared research outputs
Top Co-Authors

Avatar

John D. Owens

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Thorsten Scheuermann

University of North Carolina at Chapel Hill

View shared research outputs
Researchain Logo
Decentralizing Knowledge