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.