Skip to content

Is it worth making better use of compressed Jacobian format? #19

@joewallwork

Description

@joewallwork

Transferred from ukca:#326 on MOSRS.

The Jacobian in ASAD is a sparse matrix, which is stored in compressed format as spfj. Previous profiling work has indicated that the majority of the computational cost is in the nested loops in splinslv2 (within asad_sparse_vars.F90). However, these loops do not make use of compressed formats when looping over entries of the Jacobian and instead loop over all entries of the sparsity pattern and check whether each is zero.

On branch r7184_lu_refactor, I implemented compressed-sparse-row (CSR) and compressed-sparse-column (CSC) storage formats for the Jacobian and made use of them in the nested loop structure. There doesn't appear to be a noticeable runtime difference in my testing so far (at N48 resolution).

We should investigate whether there's a performance enhancement in higher resolution cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions