The software package is an optimized direct solver for large sparse systems of linear algebraic equations (SLAE) on multiprocessor systems with shared memory. Included in the Russian Software Registry — Entry N 18945 dated 5.09.2023
Sparse systems of equations are systems with coefficient matrices where the number of non-zero elements is significantly smaller than the matrix size, specifically, the number of non-zero elements in a row is much smaller than the number of columns in the matrix. Depending on the available memory size, the dimensions of the matrices being solved can reach several million, with hundreds of millions of non-zero elements.
This amount of data arises in problems related to numerical simulation of physical processes (heat transfer, acoustic, elastic, and electromagnetic wave processes), mathematical modeling in various fields (economics, logistics, medicine), and engineering calculations in CAD/CAE systems.
USPARS can be used either as a standalone computational program or as a computational core in applied IT systems.
USPARS uses a full range of computational techniques that have proven effective for solving SLAEs with sparse coefficient matrices – these include various permutations (matching, pivoting, etc.), coefficient balancing, iterative refinement, and global permutations.
A number of proprietary components have been developed. For instance, the component Atlant is used to find matrix permutations to reduce the fill-in of triangular factors. It uses a combined algorithm based on the multi-level nested dissection method and an efficient proprietary method for reordering small subgraphs.
To enhance performance, USPARS computations are parallelized using OpenMP. This allows speeding up operations with an increasing number of computational cores. Users can specify the number of omp threads to be used in the program.
The package is available in two modes:
In-Core (IC) – in this mode, all intermediate data during calculations are stored in the system's RAM.
Out-Of-Core (OOC) – in this mode, part of the intermediate data can be saved to disk.
Using disk memory in OOC mode allows solving larger SLAEs, but data exchange between RAM and disk increases computation time compared to IC mode.
Basic version — new releases are issued several times a year.
Custom versions — built on the basic version and include additional functionality.
Custom SLAE calculations — we also offer this service.
Information on pricing can be found here.
USPARS is available under an academic license to students and faculty members of Russian universities whose curricula include mathematical modeling of real-world processes. The license is granted for one year and includes basic technical support from the developers.
Since October 2023, the server version of USPARS has been available as a module on the facilities of the Siberian Supercomputer Center (SSCC) and is accessible to its users. All researchers with access to SSCC can load it onto any computing node.
To load the module, simply execute the command:
module load uspars/latest
This will display information on building examples, running them, and a link to the USPARS user guide.
USPARS comes with a user manual that thoroughly describes all its features.
To start using USPARS, follow the installation guide and the operation manual.
The most well-known counterparts to the USPARS solver are packages like MKL PARDISO, MUMPS, PARDISO, SuperLU, TAUCS, and UMFPACK.
Sparse matrices are sometimes defined as matrices where utilizing the structure of non-zero elements improves algorithm performance when solving linear equation systems with such matrices.
Special structures exist for storing sparse matrices, allowing for minimal memory usage and efficient processing. USPARS uses the CSR (compressed sparse row) format for storing and processing sparse matrices. Input matrices for USPARS must be provided in this format, and the output is a dense solution vector.
To solve the system of linear equations
A X = F
with a sparse coefficient matrix A of size NxN and a dense matrix F of size Nxk, the matrix A is decomposed into a product of several matrices that are lower or upper triangular and diagonal, followed by solving triangular systems. USPARS uses different types of triangular factorization for sparse matrices, depending on the class of the matrix, based on its symmetry and positive definiteness.
USPARS allows solving systems with single and double precision. Double precision requires twice as much memory and may take twice as long to compute. However, double precision allows for more accurate arithmetic operations, which can be critical for matrices with high condition numbers.
UNIPRO's achievements in developing the USPARS software package are showcased in presentations at international symposia and Russian scientific events. You can view the latest presentation made at the seminar of the Institute of Computational Mathematics and Mathematical Geophysics of the Russian Academy of Sciences in November 2023.