3 PETSc: http://www-unix.mcs.anl.gov/petsc/petsc-2/index.html