Abstract:~ Integer dilation and contraction are functions used in conjunction with quadtree and octree mapping systems. Dilation is the process of inserting a number of zeros before each bit in a word and contraction is the process of removing those zeros. Present methods of dilation and contraction involve lookup tables which consume considerable amounts of memory for mappings of large or high resolution display devices but are very fast under practical limits. A method is proposed which rivals the speed of the tabula… Show more
“…Assign to each binary function an index number (the column number in Table 1); the look-up table becomes T r = [3, 4, 1, 2, 10, 6,8,7,9,5,13,14,11,12,15]; i.e. (i, T r (i )), i = 1, · · · , 15 are reflection pairs.…”
Section: Proof By Counterexamplementioning
confidence: 99%
“…Liu [11] discusses several new curves; in particular four curves which are related to Hilbert's, comprising, together with a variant of Hilbert's known as Moore's, a complete set. Stocco et al [12] interleave bits (see [13]) in a systematic fashion, thereby leading to many new space-filling curves; their method is easily extended to three and higher dimensions and to rectangular domains. Haverkort et al [14] also evaluate a number of space-filling curves from 2 r × 2 r and 3 r × 3 r domains, several of which are new curves.…”
Space-filling curves have been found useful for many applications in diverse fields. A space-filling curve is a path in a 2(r)×2(r) raster domain, which visits each location exactly once. In mathematical terms, space-filling curves linearize a 2D integer space, bijectively mapping the space to the integer line. An algorithm is presented, which generates a large number of space-filling curves/spatial orders. Functions are derived such that the code of each location can be calculated from its coordinates and, conversely, a location code can be decoded to yield the coordinates. The algorithm first generates generate 4×4 spatial orders; they subsequently may be scaled up to any desired domain of size 2(r)×2(r) . The underlying theory of the algorithm, the processes for scaling up, encoding, and decoding are described in detail. The curves are generated as a set of incongruent curves, followed, if required, by the sets of associated congruent curves. A number of space-filling curves are illustrated.
“…Assign to each binary function an index number (the column number in Table 1); the look-up table becomes T r = [3, 4, 1, 2, 10, 6,8,7,9,5,13,14,11,12,15]; i.e. (i, T r (i )), i = 1, · · · , 15 are reflection pairs.…”
Section: Proof By Counterexamplementioning
confidence: 99%
“…Liu [11] discusses several new curves; in particular four curves which are related to Hilbert's, comprising, together with a variant of Hilbert's known as Moore's, a complete set. Stocco et al [12] interleave bits (see [13]) in a systematic fashion, thereby leading to many new space-filling curves; their method is easily extended to three and higher dimensions and to rectangular domains. Haverkort et al [14] also evaluate a number of space-filling curves from 2 r × 2 r and 3 r × 3 r domains, several of which are new curves.…”
Space-filling curves have been found useful for many applications in diverse fields. A space-filling curve is a path in a 2(r)×2(r) raster domain, which visits each location exactly once. In mathematical terms, space-filling curves linearize a 2D integer space, bijectively mapping the space to the integer line. An algorithm is presented, which generates a large number of space-filling curves/spatial orders. Functions are derived such that the code of each location can be calculated from its coordinates and, conversely, a location code can be decoded to yield the coordinates. The algorithm first generates generate 4×4 spatial orders; they subsequently may be scaled up to any desired domain of size 2(r)×2(r) . The underlying theory of the algorithm, the processes for scaling up, encoding, and decoding are described in detail. The curves are generated as a set of incongruent curves, followed, if required, by the sets of associated congruent curves. A number of space-filling curves are illustrated.
“…Examples include the bit-slice implementation of AES [9] and integer contraction and dilation for quadtrees and octrees [10] and Morton-ordered arrays [8]. Pixel packing from 32 bit fields into a 5:5:5 representation is a further application of parallel bit deletion.…”
Parallel bit stream algorithms exploit the SWAR (SIMD within a register) capabilities of commodity processors in high-performance text processing applications such as UTF-8 to UTF-16 transcoding, XML parsing, string search and regular expression matching. Direct architectural support for these algorithms in future SWAR instruction sets could further increase performance as well as simplifying the programming task. A set of simple SWAR instruction set extensions are proposed for this purpose based on the principle of systematic support for inductive doubling as an algorithmic technique. These extensions are shown to significantly reduce instruction count in core parallel bit stream algorithms, often providing a 3X or better improvement. The extensions are also shown to be useful for SWAR programming in other application areas, including providing a systematic treatment for horizontal operations. An implementation model for these extensions involves relatively simple circuitry added to the operand fetch components in a pipelined processor.
“…In contrast, other methods for calculating dilation require many more operations and/or table lookups, resulting in significantly larger overhead for calculating addresses. For example, dilating a 16-bit integer using a 256-entry table requires six operations, including two loads [52]. For a 16-bit integer, the dilation algorithm presented by Stocco and Schrack in [52] requires at least 16 operations.…”
Section: Iterative Algorithmmentioning
confidence: 99%
“…For example, dilating a 16-bit integer using a 256-entry table requires six operations, including two loads [52]. For a 16-bit integer, the dilation algorithm presented by Stocco and Schrack in [52] requires at least 16 operations. The low-overhead address calculation method used here in the iterative matrixmultiplication algorithm is an important factor that contributes to its good performance.…”
SUMMARYDespite extensive research, optimal performance has not easily been available previously for matrix multiplication (especially for large matrices) on most architectures because of the lack of a structured approach and the limitations imposed by matrix storage formats. A simple but effective framework is presented here that lays the foundation for building high-performance matrix-multiplication codes in a structured, portable and efficient manner. The resulting codes are validated on three different representative RISC and CISC architectures on which they significantly outperform highly optimized libraries such as ATLAS and other competing methodologies reported in the literature. The main component of the proposed approach is a hierarchical storage format that efficiently generalizes the applicability of the memory hierarchy friendly Morton ordering to arbitrary-sized matrices. The storage format supports polyalgorithms, which are shown here to be essential for obtaining the best possible performance for a range of problem sizes. Several algorithmic advances are made in this paper, including an oscillating iterative algorithm for matrix multiplication and a variable recursion cutoff criterion for Strassen's algorithm. The authors expose the need to standardize linear algebra kernel interfaces, distinct from the BLAS, for writing portable high-performance code. These kernel routines operate on small blocks that fit in the L1 cache. The performance advantages of the proposed framework can be effectively delivered to new and existing applications through the use of object-oriented or compiler-based approaches.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.