Email:
liuyangzhuan@lbl.gov

Address:
MS 50A-3111, 1 Cyclotron Road
Berkeley, CA 94720

Phone:
734-546-7392

Google Scholar:
[Here]

I'm currently the lead or one core developer of the following software packages.

ButterflyPACK

  • ButterflyPACK is a mathematical software for rapidly solving large-scale dense linear systems that exhibit off-diagonal rank-deficiency. These systems arise frequently from boundary element methods, or factorization phases in finite-difference/finite-element methods. ButterflyPACK relies on low-rank or butterfly formats under Hierarchical matrix, HODLR or other hierarchically nested frameworks to compress, factor and solve the linear system in quasi-linear time. The computationally most intensive phase, factorization, is accelerated via randomized linear algebras. The butterfly format, originally inspired by the butterfly data flow in fast Fourier Transform, is a linear algebra tool well-suited for compressing matrices arising from high-frequency wave equations or highly oscillatory integral operators.

STRUMPACK

  • STRUMPACK -- STRUctured Matrix PACKage - provides linear solvers for sparse matrices and for dense rank-structured matrices, i.e., matrices that exhibit some kind of low-rank property. It provides a distributed memory fully algebraic sparse solver and preconditioner. The preconditioner is mostly aimed at large sparse linear systems which result from the discretization of a partial differential equation, but is not limited to any particular type of problem. STRUMPACK has integrated most functionalities of ButterflyPACK. STRUMPACK also provides preconditioned GMRES and BiCGStab iterative solvers.

SuperLU_DIST

  • SuperLU_DIST contains a set of subroutines to solve a sparse linear system A*X=B. It uses Gaussian elimination with static pivoting (GESP). Static pivoting is a technique that combines the numerical stability of partial pivoting with the scalability of Cholesky (no pivoting), to run accurately and efficiently on large numbers of processors. SuperLU_DIST is a parallel extension to the serial SuperLU library. It is targeted for the distributed memory parallel machines. SuperLU_DIST is implemented in ANSI C, and MPI for communications. Currently, the LU factorization and triangular solution routines, which are the most time-consuming part of the solution process, are parallelized. The other routines, such as static pivoting and column preordering for sparsity are performed sequentially.

GPTune

  • GPTune is an autotuning framework that relies on multitask and transfer learnings to help solve the underlying black-box optimization problem. The package supports distributed and shared parallelism at both the application and tuner levels. Under the examples folder, there are illustrative examples on how to use GPTune to tune the runtime and memory of application codes such as SuperLU_DIST and ScaLAPACK.