BLAS and LAPACK are required for PETSc. It is highly recommended to use any vendor specific (and therefore highly optimized) BLAS and LAPACK libraries (cf. FAQ : Optimized BLAS libraries). The generic implementation is available from netlib:
http://www.netlib.org/blas/
http://www.netlib.org/lapack/
Optimized BLAS libraries can be found on the website of the ATLAS project:
http://sourceforge.net/projects/math-atlas/
If possible it is again recommended to use any vendor specific MPI libraries, which are highly optimized for your specific hardware platform. If you do not have any MPI implementation readily available, you can use MPICH, OpenMPI, or LAM/MPI.
http://www.mcs.anl.gov/research/projects/mpich2/
http://www.open-mpi.org/
http://www.lam-mpi.org/
However, magpar/PETSc can also be compiled without MPI support: Single processor version without MPI
The parallel time integrator PVODE from the SUNDIALS package is used for the dynamic time integration of the Landau-Lifshitz-Gilbert equation, which describes the time evolution of the magnetization distribution.
http://www.llnl.gov/CASC/sundials/
http://acts.nersc.gov/sundials/
mapgar can also be compiled without SUNDIALS and just with TAO for energy minimization.
PETSc is the core package for magpar. It provides the parallel data types, matrix-vector operations, data input and output, many utility functions, etc.
http://www.mcs.anl.gov/petsc/petsc-as/
The Metis library can be used for mesh partitioning - to split the problem (i.e. the finite element mesh) into a number of submeshes, which are then dealt with by different processors. Metis uses a very efficient multilevel k-way partitioning algorithm, which gives high quality partitionings.
http://glaros.dtc.umn.edu/gkhome/views/metis/
http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview
http://www-users.cs.umn.edu/~karypis/metis/
http://www-users.cs.umn.edu/~karypis/metis/parmetis/index.html
Without ParMETIS magpar can still perform bandwidth optimization or just work with the natural ordering (see options "-metispartition" and "-optimizebw" in allopt.txt).
"The Advanced Optimization" library is used for the static energy minimzation method.
http://www.mcs.anl.gov/research/projects/tao/
This compression library is used to reduce the size of the output files. Especially, the inp-files for AVS, which store snapshots of the magnetization distribution, are compressed very effectively.
http://www.zlib.net
The libpng library allows magpar to save snapshots of the magnetization distribution as PNG graphics files.
http://www.libpng.org/pub/png/libpng.html
The BlockSolve95 package contains routines for solving large sparse symmetric systems of linear equations on massively parallel distributed memory systems and networks of workstations.
http://info.mcs.anl.gov/pub/BlockSolve95/
High performance preconditioners for solving large, sparse linear systems of equations on massively parallel computers
https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html
SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.
http://crd.lbl.gov/~xiaoye/SuperLU/
Each external software package has its own licensing conditions and copyright. However, they are all freely available as open source and most of them published under GNU Public or other OSI approved licenses. Please refer to the list of Licenses.