What is the difference between the MKL, Taucs and Colsol solvers?
The original contents of this article is also available in the June 2011 edition of the PROKON Bulletin.
When the Frame Analysis module (Frame) was first released in 1989, early adopters of computerised structural analysis gasped in amazement as an IMB XT-compatible computer solved a simple portal frame problem in under a minute. Computer hardware has improved dramatically since, and today the same analysis completes in a fraction of a second. User expectations have grown exponentially too, and structural models have increased markedly in size and complexity. As of mid 2011, Frame features a new analysis engine, called the MKL solver, that significantly speeds up analysis of large and complex models.
This article provides background information on the Frame solver options currently available, and make recommendations on their suitability for different tasks.
Static Analysis Options
Frontal solver
The first version of Frame used a "frontal" solver. The solver was based on a method that moves through the stiffness matrix in a "front", solving only the equations in the front in core memory (RAM) while storing the rest on disk. This approach was necessary because of the limited core memory capacity of the computers at the time.
Colsol solver
A few years later, Frame's fontal solver was replaced by another in-core solver called Colsol. The solver is still available today as an analysis method. It stores the stiffness matrix in columns, optimizing the heights of the columns to the minimum necessary. The solver has worked well as the speed and memory capacities of computers evolved.
The Colsol solver stores the load vector and displacements with extended precision (using more significant digits in calculations) and therefore yields very high accuracy. Compared to the later solvers, however, it is quite slow and analysis size is limited.
Taucs solver
In the mid 1990's, Frame got a new solver based on the Taucs Library of Sparse Solvers, developed by the University of Tel Aviv. The Taucs solver uses double precision real numbers. The storage scheme for the stiffness matrix uses a sparse matrix format, which means only nonzero values are stored (zero values are omitted). Larger analyses are possible because storage is optimised and can be performed out-of-core, and analysis speed increases because fewer matrix multiplications are performed. The Taucs solver has performed very well and is still available as an analysis option in the 32-bit version of Frame.
MKL Solver
The new MKL solver brings a dramatic improvement in analysis performance. The solver uses the Intel® Math Kernel Library solvers; the specific solver is also known as "Pardiso", an acronym for "Parallel Direct Solver". The MKL solver has the ability to dynamically switch between in-core and out-of-core processing depending on the available core memory.
"Parallel" implies that it uses parallelism to utilise all available central processing unit (CPU) cores; a huge speed benefit for users with multi-core computers. Coming from Intel, certain routines also employ specific chip technologies built into Intel CPUs to further speed up calculations.
"Direct" implies that the MKL solver uses the direct method to solve the set of equations as opposed to an iterative method such as the "conjugate gradient" method. All the solvers in Frame are direct solvers.
The MKL solver uses uses double precision real numbers for numerica accuracy similar to the Taucs solver.
Dynamic and Buckling Analysis Options
Colsol and Taucs solvers
When selecting the Colsol solver or Taucs solver, Frame performs an initial linear analysis using the selected solver. It then proceeds to calculate mode shapes and natural frequencies using a "subspace iteration" method. The program stores both the mass and stiffness matrices in the same format in columns (as described for the Colsol solver above). It then iteratively solves a subset of mode shapes (the number specified by the user in the analysis settings) by calculating reduced mass and stiffness matrices and solving the resulting eigenproblem. This involves multiplications of vectors with the mass and stiffness matrices. The storage scheme has a distinct disadvantage in that it stores a lot of unnecessary zeros, thereby limiting the analysis size. The multiplication of vectors with the mass and stiffness matrices is also slow.
MKL solver
With the incorporation of the MKL library, Frame can now store both the mass and stiffness matrices in a sparse format (nonzero values only). Further, the MKL library supplies highly efficient routines for multiplying vectors with these matrices. As a result, the MKL solver can process much larger dynamics and buckling models, and also do this significantly faster than the Colsol and Taucs solvers.
Analysis Benchmarks
The table below illustrates the increase in analysis speed when switching from the Colsol solver to the Taucs solver, and to the new MKL solver. The values represent the relative speed at which Frame analyses a medium-sized model. The model represents a steel roof structure and has 1,600 nodes, 3,300 beam elements, and five load combinations (of dead, live, and wind loads). The nonâ€‘linear analyses uses five load steps, and the buckling and modal analyses determine the first two and five mode shapes respectively. The analyses were performed using a computer with a quad-core Intel processor; a typical engineering workstation.
The tabled analysis speed index values were calculated by taking the inverse of the analysis time (in seconds), and then normalising it to the speed for the Colsol solver (the slowest solver). Higher values are better.
Analysis Speed Index |
|||
Analysis Type |
Colsol solver |
Taucs solver |
MKL solver |
Linear |
1.0 |
2.5 |
3.1 |
Second-Order |
1.0 |
5.7 |
7.6 |
Non-Linear |
1.0 |
5.1 |
7.3 |
Dynamic Modal |
1.0 |
1.0 |
8.1 |
Buckling |
1.0 |
1.0 |
5.3 |
Note: The comparison above apply to a specific Frame model and a specific personal computer. Actual performance will vary with the size and complexity of the analysis and the computer hardware (available core memory and number of CPU cores) used. Small models (especially those that can be analysed in-core) generally show a smaller speed gain, while models with many more nodes show a bigger increase in speed when using the MKL solver. Speed gains with the MKL solver tend to be bigger on multi-core computers.
Accuracy and Application
The MKL solver is the solver of choice in the vast majority of cases. The MKL solver completes analyses faster than the other solvers, and provides good accuracy in almost all scenarios. When using Frame on a computer with multiple CPU cores, the speed increase over the other solvers is often spectacular (up to 20 times faster in some cases).
The Colsol solver is suitable for cases where very high accuracy is desired, e.g. when small tolerances are set for iterative second-order or non-linear problems. Given its less-than-optimal memory storage scheme, the use of the Colsol solver is limited to relatively small problems.
The Taucs solver has merit in cases where there is doubt about the results. Analysis results from the Taucs solver can confirm whether or not a solution is stable and realistic. When there is a divergence of analysis results with the MKL solver, for example, it could be due to an instability in the model (or conceivable even a program error). If in doubt, we encourage users to submit details to the PROKON Helpdesk for investigation.
Looking Ahead
A 64-bit version of Frame Analysis was released in December 2013.
Until now, limitations in the software tools used to develop Frame Analysis have precluded a 64-bit version. There are promising signs that this will soon change; a 64-bit version of Frame will hopefully be available by early 2012. As a 64-bit application, Frame will be able to address more core memory, thereby allowing analysis of larger and more complex models (especially for the extended precision Colsol solver). In addition, moving more analysis data to core memory will reduce disk access, thereby further speeding up larger analyses.
SUMO Structural Modeller was officially released in February 2012.
A new chapter in PROKON's history will be written with the release of the SUMO Structural Modeller. SUMO is an powerful and intuitive new 3D modelling environment that will eventually form the analysis core of PROKON Structural Analysis and Design. The development version of SUMO already features both the MKL solver and 64-bit processing. At the time of writing this article, the release of a Beta version of SUMO was imminent.
Comments (0)