1
$\begingroup$

I wonder how one manages to use BLAS level 3 operations in the multifrontal sparse decomposition algorithm. As far as I understand, the algorithm proceeds as follows:

  1. For each row/column pair, assemble the dense matrix corresponding to its nonzero entries. Write this matrix as $$ M = \begin{pmatrix} \alpha & a^T \\ a & A \end{pmatrix}. $$

  2. Decompose the first row/column of this matrix, $$ M = \begin{pmatrix} 1 & \\ a/\alpha & \mathbb{I} \end{pmatrix} \begin{pmatrix} \alpha & \\ & A - a a^T/\alpha \end{pmatrix} \begin{pmatrix} 1 & a^T/\alpha \\ & \mathbb{I} \end{pmatrix} . $$

  3. Add the resulting $A - aa^T/\alpha$ into the $M$s for row/column pairs later in the decomposition.

Each of these steps performs $\mathcal{O}(n^2)$ operations on $\mathcal{O}(n^2)$ data, so cannot be done using BLAS3 operations. In order to fix this, one would have to block several decomposition steps (step 2.) together, but then I wonder how such a method would differ from the supernodal approach.

$\endgroup$
2
$\begingroup$

You have essentially answered your own question. To exploit BLAS3 routines (e.g. dgemm) in sparse matrix factorization, you have to identify the supernodes and then operate on those as dense blocks.

There really is no single factorization approach that can be called the supernodal method. Both modern left looking codes (e.g. SuperLU) and multifrontal codes (e.g. UMFPACK) operate on supernodes.

| cite | improve this answer | |
$\endgroup$
1
$\begingroup$

The nomenclature used in the literature is misleading. High-performance implementations of both the supernodal as well as the multifrontal methods operate on supernodes, i.e. multiple columns rather than single columns. The difference between the two methods lies in how they propagate the Schur complement: when the supernodal method tackles column (or supernode) $k$, it takes the $k$th column of $A$ and updates it with the Schur complements of the columns $1:k-1$. A more accurate name for the supernodal method would hence be "left-looking". The multifrontal method, on the other hand, does some more intricate bookkeeping for the Schur complements which resembles (but is distinct from) a right-looking factorisation method.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.