ElmerSolver has an efficient conjugate gradient (CG) solver for small and moderately large elliptic problems (1000-50000 degrees of freedom, say). The algorithm can be preconditioned in several different ways, e.g., by the incomplete Cholesky-factorization of the coefficient matrix.
The figure shows the total solution time (maximum of five separate runs) of the Poisson equation on a L-shaped domain (homogeneous Dirichlet boundary conditions and constant source term). The problem was discretized by standard linear triangular finite elements and solved on a SGI Origin 2000 machine (cedar.csc.fi) using the preconditioned conjugate gradirent (PCG) solver of Elmer (with ILU(0) preconditioner). According to the graph, the total solution time grows as N^{1.5} with respect to the size of the system. After 50000 degrees of freedom, the multigrid solver is more efficient.