{'fraction_non_alphanumeric': 0.01828410689170183, 'fraction_numerical': 0.0007032348804500703, 'mean_word_length': 5.252747252747253, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
High-performance direct solution of finite element problems on multi-core processors

The solution of linear system of equations is at the core of finite element (FE) analysis software. While engineers have been increasing the size and complexity of their models, the growth in the speed of a single computer processor has slowed. Today, computer manufacturers have increased overall processor performance by increasing the number of processing units in a computer using so-called multi-core processors. A FE analysis solver is needed which takes full advantage of these multi-core processors. 
In this study, a direct solution procedure is proposed and developed which exploits the parallelism that exists in current symmetric multiprocessing (SMP) multi-core processors. Several algorithms are proposed and developed to improve the performance of the direct solution of FE problems. A high-performance sparse direct solver is developed which allows experimentation with the newly developed and existing algorithms. The performance of the algorithms is investigated using a large set of FE problems. Furthermore, operation count estimations are developed to further assess various algorithms. 
A multifrontal method is adopted for the parallel factorization and triangular solution on SMP multi-core processors. A triangular solution algorithm that is especially efficient for the solution with multiple loading conditions is developed. Furthermore, a new mapping algorithm is designed to find independent factorization tasks that are assigned to the CPU cores in order to minimize the parallel factorization time. As the factorization and triangular solution times are reduced by the use of parallel algorithms, other components of FE analysis such as assembly of the stiffness matrix become a bottleneck for improving the overall performance. An assembled stiffness matrix is not required by the developed solver. Instead, element stiffness matrices and element connectivity information are the inputs. The developed solver never assembles the entire structural stiffness matrix but assembles frontal matrices on each core. This reduces not only the execution time but also the memory requirement for the assembly. 
Finally, an out-of-core version of the solver is developed to reduce the memory requirements for the solution. I/O is performed asynchronously without blocking the thread that makes the I/O request. Asynchronous I/O allows overlapping factorization and triangular solution computations with I/O. The performance of the developed solver is demonstrated on a large number of test problems. A problem with nearly 10 million degree of freedoms is solved on a low price desktop computer using the out-of-core version of the direct solver. Furthermore, the developed solver usually outperforms a commonly used shared memory solver.