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

Michael D. McCool

dblp:83/5515 · also Michael McCool · DBLP profile ↗
← Back
25ranked-venue papers
11as first author
1since 2021 · last 2022
—ORCID · none

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

Graphics, computer vision, multimedia, augmented reality and games · 15 · 7 first-authorHuman-computer interaction and ubiquitous computing · 12 · 4 first-authorSystems, architecture and hardware · 3 · 2 first-authorSoftware engineering, systems software and programming languages · 2Databases, data management, data science and information retrieval · 2Security and privacy · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 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
Parallel and multicore computing · 45% GPUs and heterogeneous computing · 34% Performance modeling and evaluation · 12%
Computer graphics and multimedia
4 papers
Rendering · 54% Image and video processing · 22% Computational photography and imaging · 14%
Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%

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

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.122008
Scalable Programming Models for Massively Multicore Processors · Proc. IEEE 2008
M08 - Programming using RapidMind on the Cell BE · SC 2006
Performance modeling and evaluation
benchmarking
0.112006
Poster reception - Performance evaluation of GPUs using the RapidMind development platform · SC 2006
Parallel and multicore computing
data-parallel programming
0.112006
M08 - Programming using RapidMind on the Cell BE · SC 2006
GPUs and heterogeneous computing
GPU computing
0.112006
Poster reception - Performance evaluation of GPUs using the RapidMind development platform · SC 2006
Programming languages and type systems
domain-specific languages
0.012004
Shader algebra · ACM Trans. Graph. 2004
GPUs and heterogeneous computing › heterogeneous architecture
heterogeneous multicore architecture
0.022008
Scalable Programming Models for Massively Multicore Processors · Proc. IEEE 2008
M08 - Programming using RapidMind on the Cell BE · SC 2006
Rendering
bidirectional reflectance distribution function
0.012001
Homomorphic factorization of BRDFs for high-performance rendering · SIGGRAPH 2001
Computational photography and imaging › intrinsic image decomposition
reflectance and shading
0.012001
Homomorphic factorization of BRDFs for high-performance rendering · SIGGRAPH 2001
Rendering
shadow rendering
0.012000
Shadow volume reconstruction from depth maps · ACM Trans. Graph. 2000
Processor architecture and microarchitecture
chip multiprocessor
0.012008
Scalable Programming Models for Massively Multicore Processors · Proc. IEEE 2008
Image and video processing › image filtering › nonlinear diffusion
anisotropic diffusion
0.011999
Anisotropic diffusion for Monte Carlo noise reduction · ACM Trans. Graph. 1999
Image and video processing › image restoration
image denoising
0.011999
Anisotropic diffusion for Monte Carlo noise reduction · ACM Trans. Graph. 1999
Rendering
monte carlo rendering
0.011999
Anisotropic diffusion for Monte Carlo noise reduction · ACM Trans. Graph. 1999
Audio and music processing › speech enhancement
noise reduction
0.011999
Anisotropic diffusion for Monte Carlo noise reduction · ACM Trans. Graph. 1999
Hardware accelerators and domain-specific architectures › many-core accelerator
cell broadband engine
0.012006
M08 - Programming using RapidMind on the Cell BE · SC 2006
Rendering
antialiasing
0.011995
Analytic antialiasing with prism splines · SIGGRAPH 1995
Rendering
real-time rendering
0.012001
Homomorphic factorization of BRDFs for high-performance rendering · SIGGRAPH 2001
Rendering
texture mapping
0.012001
Homomorphic factorization of BRDFs for high-performance rendering · SIGGRAPH 2001
Rendering › shadow rendering
shadow mapping
0.012000
Shadow volume reconstruction from depth maps · ACM Trans. Graph. 2000
Image and video processing
image reconstruction
0.011995
Analytic antialiasing with prism splines · SIGGRAPH 1995

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

runtime streaming execution · 0.1rapidmind development platform · 0.1dynamic compilation · 0.1stream combination · 0.0optimizing compiler · 0.0functional composition · 0.0singular value decomposition · 0.0homomorphic factorization · 0.0template-based reconstruction · 0.0stencil buffer · 0.0edge detection · 0.0statistical normalization · 0.0incremental variance estimation · 0.0anisotropic diffusion · 0.0multivariate polyhedral splines · 0.0box spline filtering · 0.0
YearPublicationVenuePosition
2022 IoT Interoperability with W3C Web of Things
abstract
This paper gives a brief overview of IoT interoperability approaches within the W3C Web of Things standard. The first part presents the core concepts of the W3C Web of Things. An outline of the family of WoT specifications is then provided. The second part focuses on the proposed WoT Profile mechanism and explains how profiles can help to address interoperability challenges.
Michael Lagally, Michael D. McCool
CCNC2
2016 Language-Based Hypervisors
Enrico Budianto, Richard Chow, Jonathan Ding, Michael D. McCool
CANS4
2012 Embroidery modeling and rendering
Xinling Chen, Michael D. McCool, Asanobu Kitamoto, Stephen Mann
Graphics Interface2
2011 Intel's Array Building Blocks: A retargetable, dynamic compiler and embedded language
abstract
Our 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
CGO4
2010 Subseries Join: A Similarity-Based Time Series Match Approach
Yi Lin 0008, Michael D. McCool
PAKDD (1)2
2008 Control Flow Emulation on Tiled SIMD Architectures
Ghulam Lashari, Ondrej Lhoták, Michael D. McCool
CC3
2008 Layered variance shadow maps
Andrew Lauritzen, Michael D. McCool
Graphics Interface2
2008 Precise vector textures for real-time 3D rendering
abstract
Vector graphics representations of images are resolution independent. Direct use of vector images for real-time texture mapping would be desirable to avoid sampling artifacts such as blurring common with raster images. Scalable Vector Graphics (SVG) files are typical of vector graphics image representations. Such representations composite images from layers of paths and strokes defined with lines, elliptical arcs, and quadratic and cubic parametric splines.High-quality texture mapping requires both random access and anisotropic antialiasing. For vector images, these goals can be achieved by computing the distance to the closest primitives from a sample point and then mapping this distance through a soft threshold function. Representing transparency masks in this way is especially useful, since vector mattes can be used to render complex curvilinear geometry as textures on simple geometric primitives.Unfortunately, computing the exact minimum distance to the parametric curves used in vector images is difficult. Previous work has used approximations, but an accurate minimum distance is desirable in order to enable wide strokes and special effects such as embossing. In this paper, a simple algorithm is presented that can efficiently and accurately compute the minimum distance to a parametric curve when the sample point is within its radius of curvature and the curve can be segmented into monotonic regions. This technique can be used in a GPU shader to render antialiased vector images exactly as defined by SVG files.
Michael D. McCool, Craig S. Kaplan
SI3D2
2008 Scalable Programming Models for Massively Multicore Processors
abstract
Including multiple cores on a single chip has become the dominant mechanism for scaling processor performance. Exponential growth in the number of cores on a single processor is expected to lead in a short time to mainstream computers with hundreds of cores. Scalable implementations of parallel algorithms will be necessary in order to achieve improved single-application performance on such processors. In addition, memory access will continue to be an important limiting factor on achieving performance, and heterogeneous systems may make use of cores with varying capabilities and performance characteristics. An appropriate programming model can address scalability and can expose data locality while making it possible to migrate application code between processors with different parallel architectures and variable numbers and kinds of cores. We survey and evaluate a range of multicore processor architectures and programming models with a focus on GPUs and the Cell BE processor. These processors have a large number of cores and are available to consumers today, but the scalable programming models developed for them are also applicable to current and future multicore CPUs.
Michael D. McCool
Proc. IEEE1
2006 M08 - Programming using RapidMind on the Cell BE
abstract
The multi-core Cell BE architecture has the potential to deliver high performance computation to many applications. However, it requires parallel programming on several levels and uses a memory model that requires explicit scheduling of memory transfers. The RapidMind development platform enables access to the power of the Cell BE by providing a simple data-parallel model of execution. It combines a dynamic compiler with a runtime streaming execution manager, and provides a single system image for computations running on multiple cores. The interface to this system is embedded inside ISO standard C++, where it can capture computations specified through an innovative metaprogrammed interface. This tutorial will introduce and demonstrate the use of the RapidMind platform on the Cell BE through a number of examples drawn from visualization and scientific computation.
Michael D. McCool, Bruce D'Amora
SC1
2006 Poster reception - Performance evaluation of GPUs using the RapidMind development platform
abstract
The high-performance parallel processors in video accelerators, GPUs, can be used as numerical co-processors in a variety of applications. The RapidMind Development Platform is a software development system that allows the developer to use standard C++ programming to easily create high-performance and massively parallel applications that run on the GPU. Using the RapidMind platform, we compare the performance of FFT, BLAS dense matrix multiplication, and quasi-Monte Carlo option pricing benchmarks on the GPU against highly tuned CPU implementations. The advantages and limitations of GPU acceleration are discussed as well as techniques for optimizing performance.
Michael D. McCool, Kevin Wadleigh, Brent Henderson, Hsin-Ying Lin
SC1
2006 Real-time texture-mapped vector glyphs
abstract
We present a vector graphics representation suitable for real-time rendering on GPUs. Our representation can be used in place of a texture map, and renders precise antialiased edges at any magnification. A combination of texture data and procedural computation is used to evaluate an exact signed distance to a contour and its gradient. An optimized uniform grid accelerator is created using Voronoi analysis and redundancy elimination, so only the distances to a small constant number of features need be computed at every access. Contours and sharp features can be exactly reconstructed using a constant amount of computation per pixel. Our representation supports inexpensive high-quality anisotropic antialiasing as well as special effects such as outlining (with both rounded and sharp miters) and embossing.We have applied our representation to the important application of glyph rendering. Variations in glyph complexity are handled by storing different glyphs at different grid resolutions. Large blocks of glyphs can be rendered efficiently with a single indirection through an index texture.
Michael D. McCool, Craig S. Kaplan
SI3D2
2004 A Graphical XQuery Language Using Nested Windows
Benjamin Bin Yao, Yingbin Liu, Michael D. McCool
WISE4
2004 Shader algebra
abstract
An algebra consists of a set of objects and a set of operators that act on those objects. We treat shader programs as first-class objects and define two operators: connection and combination. Connection is functional composition: the outputs of one shader are fed into the inputs of another. Combination concatenates the input channels, output channels, and computations of two shaders. Similar operators can be used to manipulate streams and apply computational kernels expressed as shaders to streams. Connecting a shader program to a stream applies that program to all elements of the stream; combining streams concatenates the record definitions of those streams.In conjunction with an optimizing compiler, these operators can manipulate shader programs in many useful ways, including specialization, without modifying the original source code. We demonstrate these operators in Sh, a metaprogramming shading language embedded in C++.
Michael D. McCool, Stefanus Du Toit, Tiberiu Popa, Kevin Moule
ACM Trans. Graph.1
2003 Fast Extraction of BRDFs and Material Maps from Images
Rafal Jaroszkiewicz, Michael D. McCool
Graphics Interface2
2002 Efficient Bounded Adaptive Tessellation of Displacement Maps
Kevin Moule, Michael D. McCool
Graphics Interface2
2001 Homomorphic factorization of BRDFs for high-performance rendering
abstract
A bidirectional reflectance distribution function (BRDF) describes how a material reflects light from its surface. To use arbitrary BRDFs in real-time rendering, a compression technique must be used to represent BRDFs using the available texture-mapping and computational capabilities of an accelerated graphics pipeline. We present a numerical technique, homomorphic factorization, that can decompose arbitrary BRDFs into products of two or more factors of lower dimensionality, each factor dependent on a different interpolated geometric parameter. Compared to an earlier factorization technique based on the singular value decomposition, this new technique generates a factorization with only positive factors (which makes it more suitable for current graphics hardware accelerators), provides control over the smoothness of the result, minimizes relative rather than absolute error, and can deal with scattered, sparse data without a separate resampling and interpolation algorithm.
Michael D. McCool, Jason Ang, Anis Ahmad
SIGGRAPH1
2000 Approximation of Glossy Reflection with Prefiltered Environment Maps
Jan Kautz, Michael D. McCool
Graphics Interface2
2000 Shadow volume reconstruction from depth maps
abstract
Current graphics hardware can be used to generate shadows using either the shadow volume or shadow map techniques. However, the shadow volume technique requires access to a representation of the scence as a polygonal model, and handling the near plane clip correctly and efficiently is difficult; conversely, accurate shadow maps require high-precision texture map data representations, but these are not widely supported. We present a hybird of the shadow map and shadow volume approaches which does not have these difficulties and leverages high-performance polygon rendering. The scene is rendered from the point of view of the light source and a sampled depth map is recovered. Edge detection and a template-based reconstruction technique are used to generate a global shadow volume boundary surface, after which the pixels in shadow can be marked using only a one-bit stencil buffer and a single-pass rendering of the shadow volume boundary polygons. The simple form of our template-based reconstruction scheme simplifies capping the shadow volume after the near plane clip.
Michael D. McCool
ACM Trans. Graph.1
1999 Stratified Wavelength Clusters for Efficient Spectral Monte Carlo Rendering
Glenn Evans, Michael D. McCool
Graphics Interface2
1999 Anisotropic diffusion for Monte Carlo noise reduction
abstract
Monte Carlo sampling can be used to estimate solutions to global light transport and other rendering problems. However, a large number of observations may be needed to reduce the variance to acceptable levels. Rather than computing more observations within each pixel, if spatial coherence exists in image space it can be used to reduce visual error by averaging estimators in adjacent pixels. Anisotropic diffusion is a space-variant noise reduction technique that can selectively preserve texture, edges, and other details using a map of image coherence. The coherence map can be estimated from depth and normal information as well as interpixel color distance. Incremental estimation of the reduction in variance, in conjunction with statistical normalization of interpixel color distances, yields an energy-preserving algorithm that converges to a spatially nonconstant steady state.
Michael D. McCool
ACM Trans. Graph.1
1997 Probability Trees
Michael D. McCool, Peter K. Harwood
Graphics Interface1
1996 Accelerated Evaluation of Box Splines via a Parallel Inverse FFT
abstract
Abstract Box splines are a multivariate extension of uniform univariate B‐splines. Direct evaluation of a box spline basis function can he difficult but they have a relatively simple Fourier transform and can therefore be evaluated with an inverse FFT. Symmetry recursive evaluation of the coefficients, and parallelization can be used to improve absolute performance. A windowing function can also he used to reduce truncation artifacts. We explore all these options in the context of a high‐performance parallel implementation. Our goal is the provision of an empirical touchstone for the inverse FFT evaluation of box spline basis functions, for eventual application to forward projection (splat‐based) volume rendering.
Michael D. McCool
Comput. Graph. Forum1
1995 Analytic antialiasing with prism splines
abstract
The theory of the multivariate polyhedral splines is applied to analytic antialiasing: a triangular simplex spline is used to represent surface intensity, while a box spline is used as a filter.Their continuous convolution is a prism spline that can be evaluated exactly via recurrence.Evaluation performance can be maximized by exploiting the properties of the prism spline and its relationship to the sampling grid.After sampling, digital signal processing can be used to evaluate exactly and efficiently the sampled result of any analytic spline filter in the span of the box spline basis used as the original analytic filter.
Michael D. McCool
SIGGRAPH1
1995 Interactive Maximum Projection Volume Rendering
abstract
Maximum projection is a volume rendering technique that, for each pixel, finds the maximum intensity along a projector. For certain important classes of data, this is an approximation to summation rendering which produces superior visualizations. We show how maximum projection rendering with additional depth cues can be implemented using simple affine transformations in object space. This technique can be used together with 3D graphics libraries and standard graphics hardware, thus allowing interactive manipulations of the volume data. The algorithm presented allows for a wide range of tradeoffs between interactivity and image quality.
Michael D. McCool, Wolfgang Heidrich, John Stevens
IEEE Visualization1