Table of Contents

5. PARDISO Emulator - IPardiso

This object provides an emulation of the interface to the Intel MKL PARDISO direct sparse solver. This interface is provided to facilitate the use of VfsTools solvers within applications which are familiar with the PARDISO direct solver interface. The IPardiso interface is thread safe unlike MKL PARDISO. It is possible to have any number of independent interfaces running on separate threads. Currently only the 64 bit integer interface is supported and is made explicit by the addition of 64 to the end of all function names. The IPardiso interface is not a typically structured DevTools object. The MKL PARDISO interface provides for an array of 64 pointers which act as an opaque "object". The IPardiso emulator will therefore be referred to as an object. The methods associated with a IPardiso object are the following.

The IPardiso object is meant to emulate the interface to the 32 and 64 bit versionof Intel MKL Pardiso. Currently the functions pardisoinit and pardiso and pardiso_64 are emulated, please refer to Intel MKL PARDISO documentation. The vfs_IPardisoinit64 function needs to be used to initialize variables for vfs_IPardiso64. The matrix types supported include all structurally symmetric matrices real, Hermitian or generally complex, definite and indefinite. Structurally non-symmetric matrices are not supported.

Table of Contents

5.1 Function Descriptions

The currently available IPardiso functions are described in detail in this section.


Table of Contents , IPardiso

NAME

vfs_IPardisoinit64 - Initialize default 64 bit version parameters

C SPECIFICATION

void vfs_IPardisoinit64 (void *pt[64],
                         Vlong *mtype,
                         Vlong iparm[64])

INPUT ARGUMENTS

pt           Array of 64 pointers
mtype        Matrix type

OUTPUT ARGUMENTS

iparm        Array of 64 parameters initialized

DESCRIPTION

This function emulates the pardisoinit function. Note that the integer data types for vfs_IPardisoinit are Vint rather than Vlong.


Table of Contents , IPardiso

NAME

vfs_IPardiso64 - Calculate solution of sparse system

C SPECIFICATION

void vfs_IPardisoinit64 (void *pt[64],
                         Vlong *maxfct,
                         Vlong *mnum,
                         Vlong *mtype,
                         Vlong *phase,
                         Vlong *n,
                         void *a,
                         Vlong *ia,
                         Vlong *ja,
                         Vlong *perm,
                         Vlong *nrhs,
                         Vlong iparm[64],
                         Vlong *msglvl,
                         void *b,
                         void *x,
                         Vlong *error)

INPUT ARGUMENTS

pt           Array of 64 pointers
maxfct       Maximum number of factors.  Must be 1.
mnum         Matrix number.  Must be 1.
mtype        Matrix type. 1,2,-2,3,4,-4,6 supported.
phase        

OUTPUT ARGUMENTS

error        The error indicator.

DESCRIPTION

This function emulates the pardiso_64 function Note that the integer data types for vfs_IPardiso are Vint rather than Vlong.