Functions/Subroutines | |
| program | __pardisotools_f90__ |
| see also https://software.intel.com/content/www/us/en/develop/articles/pardiso-parameter-table.html | |
| integer(int_t) function | pardisotools_initialize_parameters (aparameters) |
| List of Parameters 1: Transposed Flag : 0 - CSR : 1 - CSC. | |
| integer(int_t) function | pardisotools_symbolic_factorization (an, annz, anrhs, apointers, aindices, avalues) |
| integer(int_t) function | pardisotools_solve (an, annz, anrhs, apointers, aindices, avalues, alhs, arhs, ainfo) |
| integer(int_t) function | pardisotools_free () |
| program __pardisotools_f90__ |
see also https://software.intel.com/content/www/us/en/develop/articles/pardiso-parameter-table.html
MKL's own Fortran interface for pardiso ( sixteen arguments, assumed-size arrays ), included the way mumpstools.f90 includes dmumps_struc.h: the vendor header is the source of truth, and every call below is checked against it at compile time. It declares default INTEGER throughout, which is the LP64 MKL this project links; Intel's ILP64 story for Fortran is -fdefault-integer-8, which BELFEM does not pass, so the ILP64 combination is refused below instead of compiling silently.
| integer( int_t ) function pardisotools_free |
| integer( int_t ) function pardisotools_initialize_parameters | ( | integer( int_t ), dimension( 8 ), intent(in) | aparameters | ) |
List of Parameters 1: Transposed Flag : 0 - CSR : 1 - CSC.
2: Indexing Base : 0 - C++ 1 - Fortran
3: Matrix Type : 11 - Unsymmetric, 2 - PositiveDefiniteSymmetric, -2 - GeneralSymmetric 4: Info Level : 0 - Silent 5: Precon Exponent 6: Max Number of Refinement steps : 0 - auto 7: Flag that selects the reduce ordering
8: reserved ( was "compute determinant"; MKL PARDISO returns no determinant and documents iparm( 33 ) as reserved, so the value is read and ignored )
| integer( int_t ) function pardisotools_solve | ( | integer( int_t ), intent(in) | an, |
| integer( int_t ), intent(in) | annz, | ||
| integer( int_t ), intent(in) | anrhs, | ||
| integer( int_t ), dimension( an+1 ), intent(in) | apointers, | ||
| integer( int_t ), dimension( annz ), intent(in) | aindices, | ||
| real( c_double ), dimension( annz ), intent(in) | avalues, | ||
| real( c_double ), dimension( an, anrhs ), intent(inout) | alhs, | ||
| real( c_double ), dimension( an, anrhs ), intent(inout) | arhs, | ||
| integer( int_t ), dimension( 8 ), intent(out) | ainfo ) |
| integer( int_t ) function pardisotools_symbolic_factorization | ( | integer( int_t ), intent(in) | an, |
| integer( int_t ), intent(in) | annz, | ||
| integer( int_t ), intent(in) | anrhs, | ||
| integer( int_t ), dimension( an+1 ), intent(in) | apointers, | ||
| integer( int_t ), dimension( annz ), intent(in) | aindices, | ||
| real( c_double ), dimension( annz ), intent(in) | avalues ) |