  The finite element method (FEM) has several computational steps to
numerically solve a particular problem, to which many efforts have been
directed to accelerate the solution stage of the linear system of equations.
However, the finite element matrix construction, which is also time-consuming
for unstructured meshes, has been less investigated. The generation of the
global finite element matrix is performed in two steps, computing the local
matrices by numerical integration and assembling them into a global system,
which has traditionally been done in serial computing. This work presents a
fast technique to construct the global finite element matrix that arises by
solving the Poisson's equation in a three-dimensional domain. The proposed
methodology consists in computing the numerical integration, due to its
intrinsic parallel opportunities, in the graphics processing unit (GPU) and
computing the matrix assembly, due to its intrinsic serial operations, in the
central processing unit (CPU). In the numerical integration, only the lower
triangular part of each local stiffness matrix is computed thanks to its
symmetry, which saves GPU memory and computing time. As a result of symmetry,
the global sparse matrix also contains non-zero elements only in its lower
triangular part, which reduces the assembly operations and memory usage. This
methodology allows generating the global sparse matrix from any unstructured
finite element mesh size on GPUs with little memory capacity, only limited by
the CPU memory.
