Spacefilling curves and the planar travelling salesman problem
Journal of the ACM (JACM)
Linear clustering of objects with multiple attributes
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Cryptanalysis of video encryption based on space-filling curves
EUROCRYPT '89 Proceedings of the workshop on the theory and application of cryptographic techniques on Advances in cryptology
Digital halftoning with space filling curves
Proceedings of the 18th annual conference on Computer graphics and interactive techniques
Space diffusion: an improved parallel halftoning technique using space-filling curves
SIGGRAPH '93 Proceedings of the 20th annual conference on Computer graphics and interactive techniques
Multi-way partitioning via spacefilling curves and dynamic programming
DAC '94 Proceedings of the 31st annual Design Automation Conference
Auto-blocking matrix-multiplication or tracking BLAS3 performance from source code
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
Algorithm 781: generating Hilbert's space-filling curve by recursion
ACM Transactions on Mathematical Software (TOMS)
Efficient input and output for scientific simulations
Proceedings of the sixth workshop on I/O in parallel and distributed systems
Improving memory hierarchy performance for irregular applications
ICS '99 Proceedings of the 13th international conference on Supercomputing
Recursive array layouts and fast parallel matrix multiplication
Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures
Improving fine-grained irregular shared-memory benchmarks by data reordering
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
A scalable cross-platform infrastructure for application performance tuning using hardware counters
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Vertex-labeling algorithms for the Hilbert spacefilling curve
Software—Practice & Experience
Irregularity in multi-dimensional space-filling curves with applications in multimedia databases
Proceedings of the tenth international conference on Information and knowledge management
ACM Computing Surveys (CSUR)
Increasing temporal locality with skewing and recursive blocking
Proceedings of the 2001 ACM/IEEE conference on Supercomputing
A Video Scrambling Technique Based On Space Filling Curves
CRYPTO '87 A Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology
A Study of Spatial Clustering techniques
DEXA '94 Proceedings of the 5th International Conference on Database and Expert Systems Applications
Analysis of Multi-Dimensional Space-Filling Curves
Geoinformatica
Mapping with Space Filling Surfaces
IEEE Transactions on Parallel and Distributed Systems
Compact Hilbert indices: Space-filling curves for domains with unequal side lengths
Information Processing Letters
Incremental construction of the delaunay triangulation and the delaunay graph in medium dimension
Proceedings of the twenty-fifth annual symposium on Computational geometry
Two-constraint domain decomposition with Space Filling Curves
Parallel Computing
On efficient 3D data dissemination
Wireless Networks
Hi-index | 0.00 |
Because they are continuous and self-similar, space-filling curves have been widely used in mathematics to transform multi-dimensional problems into one-dimensional forms. For scientific applications, reordering computation by certain space-filling curves can significantly improve data reuse because of the locality properties of these curves. However, when space-filling curves are used in programs for reordering data, traversal or indexing of the curves must be efficient. To address this problem, we present the table-driven framework SFCGen to efficiently generate multi-dimensional space-filling curves on the fly. The framework is general and easy enough to be used in any application that can be partitioned recursively in multiple dimensions. We describe a movement specification table, a universal turtle algorithm to enumerate points along a space-filling curve, a table-based indexing algorithm to transform coordinates of a point into its position along the curve and an algorithm to pregenerate the table automatically. As examples, we show how high-dimensional Hilbert, Morton, and Peano curves and a two-dimensional Sierpiński curve can be generated with our algorithms. We present performance results for Hilbert, Morton, and Peano curves and compare the efficiency of our curve generation algorithm with the most recent work on generating Hilbert curves. Our experimental results on three modern microprocessor-based platforms show that SFCGen performs up to 63&percent; faster than the most recent recursive algorithm on 2D curve generation and up to a factor of 132 faster than two previous byte-oriented non-recursive implementations. On curve indexing, SFCGen performs as much as a factor of three faster than the byte-oriented implementation. Our results on 4D space-filling curves also show that SFCGen scales very well with curve level for higher dimensional spaces.