Results 1  10
of
24
Ahnentafel indexing into Mortonordered arrays, or matrix locality for free
 In EuroPar 2000 – Parallel Processing
, 2000
"... Abstract. Definitions for the uniform representation of ddimensional matrices serially in Mortonorder (or Zorder) support both their use with cartesian indices, and their divideandconquer manipulation as quaternary trees. In the latter case, ddimensional arrays are accessed as 2 dary trees. T ..."
Abstract

Cited by 27 (5 self)
 Add to MetaCart
Abstract. Definitions for the uniform representation of ddimensional matrices serially in Mortonorder (or Zorder) support both their use with cartesian indices, and their divideandconquer manipulation as quaternary trees. In the latter case, ddimensional arrays are accessed as 2 dary trees. This data structure is important because, at once, it relaxes serious problems of locality and latency, and the tree helps schedule multiprocessing. It enables algorithms that avoid cache misses and page faults at all levels in hierarchical memory, independently of a specific runtime environment. This paper gathers the properties of Morton order and its mappings to other indexings, and outlines for compiler support of it. Statistics elsewhere show that the new ordering and block algorithms achieve high flop rates and, indirectly, parallelism without any lowlevel tuning.
Navigating through Triangle Meshes Implemented as Linear Quadtrees
 ACM Transactions on Graphics
, 1998
"... Techniques are presented for navigating between adjacent triangles of greater or equal size in a hierarchical triangle mesh where the triangles are obtained by a recursive quadtreelike subdivision of the underlying space into four equilateral triangles. These techniques are useful in a number of ap ..."
Abstract

Cited by 27 (1 self)
 Add to MetaCart
Techniques are presented for navigating between adjacent triangles of greater or equal size in a hierarchical triangle mesh where the triangles are obtained by a recursive quadtreelike subdivision of the underlying space into four equilateral triangles. These techniques are useful in a number of applications including finite element analysis, ray tracing, and the modeling of spherical data. The operations are implemented in a manner analogous to that used in a quadtree representation of data on the twodimensional plane where the underlying space is tessellated into a square mesh. A new technique is described for labeling the triangles which is useful in implementing the quadtree triangle mesh as a linear quadtree (i.e., a pointerless quadtree); the navigation can then take place in this linear quadtree. When the neighbors are of equal size, the algorithms take constant time. The algorithms are very efficient, as they make use of just a few bit manipulation operations and can be impl...
Multiresolution Mesh Representation: Models and Data Structures
 Tutorials on Multiresolution in Geometric Modelling
, 2002
"... Multiresolution meshes are a common basis for building representations of a geometric shape at dierent levels of detail. The use of the term multiresolution depends on the remark that the accuracy (or, level of detail) of a mesh in approximating a shape is related to the mesh resolution, i.e., to t ..."
Abstract

Cited by 24 (17 self)
 Add to MetaCart
Multiresolution meshes are a common basis for building representations of a geometric shape at dierent levels of detail. The use of the term multiresolution depends on the remark that the accuracy (or, level of detail) of a mesh in approximating a shape is related to the mesh resolution, i.e., to the density (size and number) of its cells. A multiresolution mesh provides several alternative meshbased approximations of a spatial object (e.g., a surface describing the boundary of a solid object, or the graph of a scalar eld).
Quadtree for embedded surface visualization: Constraints and efficient data structures
 PROC. INT. CONF. IMAGE PROCESSING (ICIP
, 1999
"... The quadtree data structure is widely used in digital image processing and computer graphics for modeling spatial segmentation of images and surfaces. A quadtree is a tree in which each node has four descendants. Since most algorithms based on quadtrees require complex navigation between nodes, effi ..."
Abstract

Cited by 24 (5 self)
 Add to MetaCart
The quadtree data structure is widely used in digital image processing and computer graphics for modeling spatial segmentation of images and surfaces. A quadtree is a tree in which each node has four descendants. Since most algorithms based on quadtrees require complex navigation between nodes, efficient traversal methods as well as efficient storage techniques are of great interest. In this paper, we first propose an efficient indexing scheme for a linear (pointerless) quadtree data structure. Such a quadtree is stored using a unidimensional array of nodes. Our indexing scheme has the property that the navigation between any pair of nodes can be computed in constant time. Moreover, the navigation across multiple quadtrees can be achieved at the same cost. We illustrate our results on applications in computer graphics. We first show how the problem of computing a socalled restricted quadtree can be solved at optimal cost, e.g with a computational complexity having the order of magnitude of the problem size. Then, we explain how this problem can be solved in the case of surfaces modeled using multiple quadtrees. Finally, we show how a tessellated sphere can be implemented and navigated using our data structure.
Survey on SemiRegular Multiresolution Models for Interactive Terrain Rendering
"... Abstract Rendering high quality digital terrains at interactive rates requires carefully crafted algorithms and data structures able to balance the competing requirements of realism and frame rates, while taking into account the memory and speed limitations of the underlying graphics platform. In th ..."
Abstract

Cited by 18 (1 self)
 Add to MetaCart
Abstract Rendering high quality digital terrains at interactive rates requires carefully crafted algorithms and data structures able to balance the competing requirements of realism and frame rates, while taking into account the memory and speed limitations of the underlying graphics platform. In this survey, we analyze multiresolution approaches that exploit a certain semiregularity of the data. These approaches have produced some of the most efficient systems to date. After providing a short background and motivation for the methods, we focus on illustrating models based on tiled blocks and nested regular grids, quadtrees and triangle bintrees triangulations, as well as cluster based approaches. We then discuss LOD error metrics and systemlevel data management aspects of interactive terrain visualization, including dynamic scene management, outofcore data organization and compression, as well as numerical accuracy.
Simplex and Diamond Hierarchies: Models and Applications
, 2010
"... Hierarchical spatial decompositions are a basic modeling tool in a variety of application domains. Several papers on this subject deal with hierarchical simplicial decompositions generated through simplex bisection. Such decompositions, originally developed for finite elements, are extensively used ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
Hierarchical spatial decompositions are a basic modeling tool in a variety of application domains. Several papers on this subject deal with hierarchical simplicial decompositions generated through simplex bisection. Such decompositions, originally developed for finite elements, are extensively used as the basis for multiresolution models of scalar fields, such as terrains, and static or timevarying volume data. They have also been used as an alternative to quadtrees and octrees as spatial access structures and in other applications. In this state of the art report, we distinguish between approaches that focus on a specific dimension and those that apply to all dimensions. The primary distinction among all such approaches is whether they treat the simplex or clusters of simplexes, called diamonds, as the modeling primitive. This leads to two classes of data structures and to different query approaches. We present the hierarchical models in a dimension–independent manner, and organize the description of the various applications, primarily interactive terrain rendering and isosurface extraction, according to the dimension of the domain.
Representationtransparent Matrix Algorithms with Scalable Performance
 ICS '07: PROCEEDINGS OF THE 21ST ANNUAL INTERNATIONAL CONFERENCE ON SUPERCOMPUTING
, 2007
"... Positive results from new objectoriented tools for scientific programming are reported. Using template classes, abstractions of matrix representations are available that subsume conventional rowmajor, columnmajor, either Z or IMortonorder, as well as blockwise combinations of these. Moreover, ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Positive results from new objectoriented tools for scientific programming are reported. Using template classes, abstractions of matrix representations are available that subsume conventional rowmajor, columnmajor, either Z or IMortonorder, as well as blockwise combinations of these. Moreover, the design of the Matrix Template Library (MTL) has been independently extended to provide recursators, to support blockrecursive algorithms, supplementing MTL's iterators. Data types modeling both concepts enable the programmer to implement both iterative and recursive algorithms (or even both) on all of the aforementioned matrix representations at once for a wide family of important scientific operations.
We illustrate the unrestricted applicability of our matrixrecursator on matrix multiplication. The same generic blockrecursive function, unaltered, is instantiated on different triplets of matrix types. Within a base block, either a library multiplication or a userprovided, platformspecific code provides excellent performance. We achieve 77% of peakperformance using handtuned base cases without explicit prefetching. This excellent performance becomes available over a wide family of matrix representations from a single program. The techniques generalize to other applications in linear algebra.
Fast additions on masked integers
 SIGPLAN Not
, 2006
"... Abstract: Suppose the bits of a computer word are partitioned into d disjoint sets, each of which is used to represent one of a dtuple of cartesian indices into ddimensional space. Then, regardless of the partition, simple group operations and comparisons can be implemented for each index on a con ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
Abstract: Suppose the bits of a computer word are partitioned into d disjoint sets, each of which is used to represent one of a dtuple of cartesian indices into ddimensional space. Then, regardless of the partition, simple group operations and comparisons can be implemented for each index on a conventional processor in a sequence of two or three register operations. These indexings allow any blocked algorithm from linear algebra to use some nonstandard matrix orderings that increase locality and enhance their performance. The underlying implementations were designed for alternating bit postitions to index Mortonordered matrices, but they apply, as well, to any bit partitioning. A hybrid ordering of the elements of a matrix becomes possible, therefore, with row/columnmajor ordering within cachesized blocks and Morton ordering of those blocks, themselves. So, one can enjoy the temporal locality of nested blocks, as well as compiler optimizations on row or columnmajor ordering in base blocks. CCS Categories:
An Efficient SemiHierarchical Array Layout
 In Proceedings of the Workshop on Interaction between Compilers and Computer Architectures
, 2001
"... For highlevel programming languages, linear array layout (e.g., column major and row major orders) have de facto been the sole form of mapping array elements to memory. The increasingly deep and complex memory hierarchies present in current computer systems expose several deficiencies of linear arr ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
For highlevel programming languages, linear array layout (e.g., column major and row major orders) have de facto been the sole form of mapping array elements to memory. The increasingly deep and complex memory hierarchies present in current computer systems expose several deficiencies of linear array layouts. One such deficiency is that linear array layouts strongly favor locality in one index dimension of multidimensional arrays. Secondly, the exact mapping of array elements to cache locations depend on the array's size, which effectively renders linear array layouts nonanalyzable with respect to cache behavior. We present and evaluate an alternative, semihierarchical, array layout which differs from linear array layouts by being neutral with respect to locality in different index dimensions and by enabling accurate and precise analysis of cache behaviors at compiletime. Simulation results indicate that the proposed layout may exhibit vastly improved TLB behavior, leading to clearly measurable improvements in execution time, despite a lack of suitable hardware support for address computations. Cache behavior is formalized in terms of conflict vectors, and it is shown how to compute such conflict vectors at compiletime.
ConstantTime Navigation in FourDimensional Nested Simplicial Meshes
, 2004
"... We consider a recursive decomposition of a fourdimensional hypercube into a hierarchy of nested 4dimensional simplexes, that we call pentatopes. The paper presents an algorithm for finding the neighbors of a pentatope along its five tetrahedral faces in constant time. To this aim, we develop a lab ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
We consider a recursive decomposition of a fourdimensional hypercube into a hierarchy of nested 4dimensional simplexes, that we call pentatopes. The paper presents an algorithm for finding the neighbors of a pentatope along its five tetrahedral faces in constant time. To this aim, we develop a labeling technique for nested pentatopes that enables their identification by using location codes. The constanttime behavior is achieved through bit manipulation operations, thus avoiding traversing the simplicial hierarchy via pointer following. We discuss an application of this representation to multiresolution representations of fourdimensional scalar fields. Extracting adaptive continuous approximations of the scalar field from such a model requires generating conforming meshes, i.e., meshes in which the pentatopes match along their tetrahedral faces. Our neighbor finding algorithm enables computing faceadjacent pentatopes efficiently.