کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
1136555 | 1489134 | 2013 | 16 صفحه PDF | دانلود رایگان |

Frequently, the computational core in general engineering simulation software is the linear system solver. This solver may be dense or sparse depending on the numerical discretization. If the system matrix related to the linear system is sparse, it is desirable to use a sparse structure. The direct sparse linear solvers such as Cholesky, LDLTLDLT, or LULU are perfect black boxes, i.e., they only need the matrix (AA) and the right hand side vector (bb) of the linear system Ax=bAx=b as inputs. Nevertheless, their main disadvantage is that the memory they require usually increases rapidly with problem size. In this work, we propose an out-of-core implementation for the Cholesky solver in order to overcome the memory problem. The out-of-core layer is based on a specialized cache memory development that stores only a part of the problem matrix AA and the factor LL whose complete data are stored in temporary disk files. The factor LL is computed in a two step process, specifically: The first step is symbolical and the second numerical. The first step computes position of the non-zero element of each row/col and the second computes the numerical value for each position using the Multifrontal Method. We have obtained significant saving of memory with our proposal. The proposed implementation overlaps computation with I/O to speed up the different phases of the solver overcoming disk latencies. The improvements on cache structure, together with the implementation of prefetch techniques show very good results for multi-core processors.
Journal: Mathematical and Computer Modelling - Volume 57, Issues 9–10, May 2013, Pages 2207–2222