PARDISO

PARDISO 6.0 Solver Project (May 2018)

The package PARDISO is a thread-safe, high-performance, robust, memory efficient and easy to use software for solving large sparse symmetric and unsymmetric linear systems of equations on shared-memory and distributed-memory multiprocessors.

Features

The PARDISO Version 6.0 was released in May 2018. It contains full support of multi-threaded Schur-complement computations and full support for parallel selected inversion. The new features are described in the following papers:

Additional publications related to PARDISO are available on the webpage of the research group of Prof. Olaf Schenk, Advanced Computing Laboratory, Institute of Computational Science, USI Lugano, Switzerland.

Important: Please note that the Intel MKL version of PARDISO is based on our version from 2006 and that a lot of new features and improvements of PARDISO are not available in the Intel MKL library.

MKL PARDISO vs PARDISO 6 Performance Comparison

MKL PARDISO
PARDISO 6

In the performance plot above we benchmarked PARDISO 6.0 against Intel MKL PARDISO version 2018 (Update 4) on up to 16 cores on a Intel-Xeon-CPU-E7-4880_v2@2.50GHz (1TB, 16 cores). The matrices are from an industrial analog electronic circuit simulator based on nonlinear differential algebraic equations which are solved using implicit integration methods. The plots shows the performance acceleration for the factorization and solution phase against MKL PARDISO using one core.

How To Use PARDISO

Examples

Additional Downloads

BLAS

xerbla

In some BLAS libraries the Fortran routine xerbla.f or the C routine xerbla.c are not included. However, the BLAS routine xerbla must link to I/O routines, which are compiler dependent. Thus, we provide the implementation, which you can compile and link in a compiler dependent fashion.

Binaries / Libraries

Current Available Libraries

Version 6.0 (Architecture x86-64, 64-bit)

Compiler Operating System PARDISO Libraries
gcc/gfortran 7.2.0 Linux libpardiso600-GNU720-X86-64.so
gcc/gfortran 8.0 Linux libpardiso600-GNU800-X86-64.so
gcc/gfortran 8.1.0 MAC OSX 10.13.4 High Sierra libpardiso600-MACOS-X86-64.dylib
Intel compiler, Windows (including optimzed BLAS) Windows libpardiso600-WIN-X86-64.dll, libpardiso600-WIN-X86-64.lib, libpardiso600-WIN-X86-64.exp
GNU compiler (MinGW) Windows libpardiso600-WIN-X86-64-MINGW.dll

Other libraries can be compiled upon request. Please let us know in case that some of these libraries are not working for you. You can only download the files above if you are a registered user and agreeing to the license conditions.

Matpower Libraries

Ipopt 3.12.9 (extended version), PARDISO 6.0 (threaded version)

You need to set the numbers of threads with, for example, if you would like to use 8 cores you should use export OMP_NUM_THREADS=8 before running ipopt.mexa64 in Matlab.

In addition, you need a PARDISO license file pardiso.lic which can be obtained here.

Architecture Operating System Files
Architecture x86-64, 64-bit, Matlab R2016b Linux ipopt.mexa64, ipopt_auxdata.m, ipopt.opt, examplehs071.m
Architecture x86-64, 64-bit, Matlab R2016b Mac OS X 10.13.4 ipopt.mexmaci64, ipopt_auxdata.m, ipopt.opt, examplehs071.m