In this paper, we use the tensor product notation as the framework of a programming methodology for designing block recursive algorithms on various computer networks. In our previous works, we propose a programming methodology for designing block recursive algorithms on sharedmemory and distributed-memory multiprocessors without considering the interconnection of processors. We extend the work to consider the block recursive algorithms on direct networks and multistage interconnection networks. We use parallel prefix computation as an example to illustrate the methodology. First, we represent the prefix computation problem as a computational matrix which may not be suitable for deriving algorithms on specific computer networks. In this methodology, we add two steps to derive tensor product formulas of parallel prefix algorithms on computer networks: (1) decompose the computational matrix into two submatrices, and (2) construct an augmented matrix. The augmented matrix can be factorized so that each term is a tensor product formula and can fit into a specified network topology. With the augmented matrix, the input data is also extended. It means, in addition to the input data, an auxiliary vector as temporary storage is used. The content of temporary storage is relevant to the decomposition of the original computational matrix. We present the methodology to derive various parallel prefix algorithms on hypercube, omega, and baseline networks and verify correctness of the resulting tensor product formulas using induction.
SUMMARYWe develop a novel construction method for n-dimensional Hilbert space-filling curves. The construction method includes four steps: block allocation, Gray permutation, coordinate transformation and recursive construction. We use the tensor product theory to formulate the method. An n-dimensional Hilbert space-filling curve of 2 r elements on each dimension is specified as a permutation which rearranges 2 rn data elements stored in the row major order as in C language or the column major order as in FORTRAN language to the order of traversing an n-dimensional Hilbert space-filling curve. The tensor product formulation of n-dimensional Hilbert space-filling curves uses stride permutation, reverse permutation, and Gray permutation. We present both recursive and iterative tensor product formulas of n-dimensional Hilbert space-filling curves. The tensor product formulas are directly translated into computer programs which can be used in various applications. The process of program generation is explained in the paper. key words: block recursive algorithm, tensor product, n-dimensional Hilbert space-filling curve, Gray permutation
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.