Results 1  10
of
32
New acyclic and star coloring algorithms with application to computing Hessians
 SIAM JOURNAL ON SCIENTIFIC COMPUTING VOL
, 2007
"... Acyclic and star coloring problems are specialized vertex coloring problems that arise in the efficient computation of Hessians using automatic differentiation or finite differencing, when both sparsity and symmetry are exploited. We present an algorithmic paradigm for finding heuristic solutions fo ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
Acyclic and star coloring problems are specialized vertex coloring problems that arise in the efficient computation of Hessians using automatic differentiation or finite differencing, when both sparsity and symmetry are exploited. We present an algorithmic paradigm for finding heuristic solutions for these two NPhard problems. The underlying common technique is the exploitation of the structure of twocolored induced subgraphs. For a graph G on n vertices and m edges, the time complexity of our star coloring algorithm is O(nd2), where dk, a generalization of vertex degree, denotes the average number of distinct paths of length at most k edges starting at a vertex in G. The time complexity of our acyclic coloring algorithm is larger by a multiplicative factor involving the inverse of Ackermann’s function. The space complexity of both algorithms is O(m). To the best of our knowledge, our work is the first practical algorithm for the acyclic coloring problem. For the star coloring problem, our algorithm uses fewer colors and is considerably faster than a previously known O(nd3)time algorithm. Computational results from experiments on various largesize test graphs demonstrate that the algorithms are fast and produce highly effective solutions. The use of these algorithms in Hessian computation is expected to reduce overall runtime drastically.
A Probing Method for Computing the Diagonal of the Matrix Inverse ∗
, 2010
"... The computation of some entries of a matrix inverse arises in several important applications in practice. This paper presents a probing method for determining the diagonal of the inverse of a sparse matrix in the common situation when its inverse exhibits a decay property, i.e., when many of the ent ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
The computation of some entries of a matrix inverse arises in several important applications in practice. This paper presents a probing method for determining the diagonal of the inverse of a sparse matrix in the common situation when its inverse exhibits a decay property, i.e., when many of the entries of the inverse are small. A few simple properties of the inverse suggest a way to determine effective probing vectors based on standard graph theory results. An iterative method is then applied to solve the resulting sequence of linear systems, from which the diagonal of the matrix inverse is extracted. Results of numerical experiments are provided to demonstrate the effectiveness of the probing method.
Combinatorial scientific computing: The enabling power of discrete algorithms in computational science
 In 7th Intl. Mtg. High Perf. Comput. for Computational Sci. (VECPAR’06), Lecture Notes in Computer Science
, 2006
"... Abstract. Combinatorial algorithms have long played a crucial, albeit underrecognized role in scientific computing. This impact ranges well beyond the familiar applications of graph algorithms in sparse matrices to include mesh generation, optimization, computational biology and chemistry, data ana ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Abstract. Combinatorial algorithms have long played a crucial, albeit underrecognized role in scientific computing. This impact ranges well beyond the familiar applications of graph algorithms in sparse matrices to include mesh generation, optimization, computational biology and chemistry, data analysis and parallelization. Trends in science and in computing suggest strongly that the importance of discrete algorithms in computational science will continue to grow. This paper reviews some of these many past successes and highlights emerging areas of promise and opportunity. 1
A Parallel Distance2 Graph Coloring Algorithm for Distributed Memory Computers
 IN PROCEEDINGS OF HPCC05, THE 2005 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, L.T. YANG ET AL., EDS., LECTURE NOTES IN COMPUT. SCI. 3726
, 2005
"... The distance2 graph coloring problem aims at partitioning the vertex set of a graph into the fewest sets consisting of vertices pairwise at distance greater than two from each other. Application examples include numerical optimization and channel assignment. We present the first distributedmemory ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
The distance2 graph coloring problem aims at partitioning the vertex set of a graph into the fewest sets consisting of vertices pairwise at distance greater than two from each other. Application examples include numerical optimization and channel assignment. We present the first distributedmemory heuristic algorithm for this NPhard problem. Parallel speedup is achieved through graph partitioning, speculative (iterative) coloring, and a BSPlike organization of computation. Experimental results show that the algorithm is scalable, and compares favorably with an alternative approach  solving the problem on a by first constructing the square graph and then applying a parallel distance1 coloring algorithm on .
DISTRIBUTEDMEMORY PARALLEL ALGORITHMS FOR DISTANCE2 COLORING AND THEIR APPLICATION TO DERIVATIVE COMPUTATION
, 2010
"... The distance2 graph coloring problem aims at partitioning the vertex set of a graph into the fewest sets consisting of vertices pairwise at distance greater than two from each other. Its applications include derivative computation in numerical optimization and channel assignment in radio networks. ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
The distance2 graph coloring problem aims at partitioning the vertex set of a graph into the fewest sets consisting of vertices pairwise at distance greater than two from each other. Its applications include derivative computation in numerical optimization and channel assignment in radio networks. We present efficient, distributedmemory, parallel heuristic algorithms for this NPhard problem as well as for two related problems used in the computation of Jacobians and Hessians. Parallel speedup is achieved through graph partitioning, speculative (iterative) coloring, and a BSPlike organization of parallel computation. Results from experiments conducted on a PC cluster employing up to 96 processors and using largesize realworld as well as synthetically generated test graphs show that the algorithms are scalable. In terms of quality of solution, the algorithms perform remarkably well—the number of colors used by the parallel algorithms was observed to be very close to the number used by the sequential counterparts, which in turn are quite often near optimal. Moreover, the experimental results show that the parallel distance2 coloring algorithm compares favorably with the alternative approach of solving the distance2 coloring problem on a graph G by first constructing the square graph G² and then applying a parallel distance1 coloring algorithm on G2. Implementations of the algorithms are made available via the Zoltan loadbalancing library.
Combinatorial problems in solving linear systems
, 2009
"... Numerical linear algebra and combinatorial optimization are vast subjects; as is their interaction. In virtually all cases there should be a notion of sparsity for a combinatorial problem to arise. Sparse matrices therefore form the basis of the interaction of these two seemingly disparate subjects ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
Numerical linear algebra and combinatorial optimization are vast subjects; as is their interaction. In virtually all cases there should be a notion of sparsity for a combinatorial problem to arise. Sparse matrices therefore form the basis of the interaction of these two seemingly disparate subjects. As the core of many of today’s numerical linear algebra computations consists of the solution of sparse linear system by direct or iterative methods, we survey some combinatorial problems, ideas, and algorithms relating to these computations. On the direct methods side, we discuss issues such as matrix ordering; bipartite matching and matrix scaling for better pivoting; task assignment and scheduling for parallel multifrontal solvers. On the iterative method side, we discuss preconditioning techniques including incomplete factorization preconditioners, support graph preconditioners, and algebraic multigrid. In a separate part, we discuss the block triangular form of sparse matrices.
Improving graph coloring on distributedmemory parallel computers
 in High Performance Computing (HiPC), 2011 18th International Conference on
, 2011
"... Graph coloring is a combinatorial optimization problem that classically appears in distributed computing to identify the sets of tasks that can be safely performed in parallel. Despite many existing efficient sequential algorithms being known for this NPComplete problem, distributed variants are ch ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Graph coloring is a combinatorial optimization problem that classically appears in distributed computing to identify the sets of tasks that can be safely performed in parallel. Despite many existing efficient sequential algorithms being known for this NPComplete problem, distributed variants are challenging. Building on an existing distributedmemory graph coloring framework, we investigate two techniques in this paper. First, we investigate the application of two different vertexvisit orderings, namely Largest First and Smallest Last, in a distributed context and show that they can help to significantly decrease the number of colors, on small to mediumscale parallel architectures. Second, we investigate the use of a distributed postprocessing operation, called recoloring, which further drastically improves the number of colors while not increasing the runtime more than twofold on large graphs. We also investigate the use of multicore architectures for distributed graph coloring algorithms. 1.
Probing methods for generalized saddlepoint problems
"... Several Schur complementbased preconditioners have been proposed for solving (generalized) saddlepoint problems. We consider probingbased methods for approximating those Schur complements in the preconditioners of the type proposed by [Murphy, Golub and Wathen ’00], [de Sturler and Liesen ’03] and ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Several Schur complementbased preconditioners have been proposed for solving (generalized) saddlepoint problems. We consider probingbased methods for approximating those Schur complements in the preconditioners of the type proposed by [Murphy, Golub and Wathen ’00], [de Sturler and Liesen ’03] and [Siefert and de Sturler ’04]. This approach can be applied in similar preconditioners as well. We discuss the implementation of probingbased approximations to Schur complements. We consider the application of those approximations in preconditioners for NavierStokes problems and metal deformation problems. Finally, we present eigenvalue clustering for the preconditioned matrices, and convergence and timing results. These demonstrate the effectiveness of the proposed preconditioners with probingbased approximate Schur complements. 1
An Early Evaluation of the Scalability of Graph Algorithms on the Intel MIC Architecture
 PROC OF MTAAP
, 2012
"... Abstract—Graph algorithms are notorious for not getting good speedup on parallel architectures. These algorithms tend to suffer from irregular dependencies and a high synchronization cost that prevent an efficient execution on distributed memory machines. Hence such algorithms are mostly parallelize ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Abstract—Graph algorithms are notorious for not getting good speedup on parallel architectures. These algorithms tend to suffer from irregular dependencies and a high synchronization cost that prevent an efficient execution on distributed memory machines. Hence such algorithms are mostly parallelized on shared memory machines. However, current commodity shared memory machines do not typically offer enough parallelism to process these problems. In this paper, we are presenting an early investigation of the scalability of such algorithms on Intel’s upcoming Many Integrated Core (Intel MIC) architecture which, when it will be released in 2012, is expected to provide more than 50 physical cores with SMT capability. The Intel MIC architecture can be programmed through many programming models, here we investigate the three most popular of these models namely OpenMP, Cilk Plus and Intel’s TBB. We present scalability results of a parallel graph coloring algorithm, three variations of a breadthfirst search algorithm and a microbenchmark for irregular computations using these three programming models. Our results on a prototype board show that the multithreaded architecture of Intel MIC can be effectively used for hiding latencies in irregular applications to achieve almost perfect speedup. KeywordsGraph algorithm; unstructured irregular computation; scalability; multithreaded architectures; graph coloring; breadthfirst search I.
A supernodal formulation of vertex colouring with applications in course timetabling
, 2009
"... For many problems in Scheduling and Timetabling the choice of an mathematical programming formulation is determined by the formulation of the graph colouring component. This paper briefly surveys seven known integer programming formulations of vertex colouring and introduces a new formulation using ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
For many problems in Scheduling and Timetabling the choice of an mathematical programming formulation is determined by the formulation of the graph colouring component. This paper briefly surveys seven known integer programming formulations of vertex colouring and introduces a new formulation using “supernodes”. In the definition of George and McIntyre [SIAM J. Numer. Anal. 15 (1978), no. 1, 90–112], “supernode” is a complete subgraph, where each two vertices have the same neighbourhood outside of the subgraph. Seen another way, the algorithm for obtaining the best possible partition of an arbitrary graph into supernodes, which we give and show to be polynomialtime, makes it possible to use any formulation of vertex multicolouring to encode vertex colouring. The power of this approach is shown on the benchmark problem of Udine Course Timetabling. Results from empirical tests on DIMACS colouring instances, in addition to instances from other timetabling applications, are also provided and discussed.