petsc-3.8.2 2017-11-09
Report Typos and Errors


datatype used to represent 'int' parameters to BLAS/LAPACK functions.

Notes: usually this is the same as PetscInt, but if PETSc was built with --with-64-bit-indices but standard C/Fortran integers are 32 bit then this is NOT the same as PetscInt it remains 32 bit (except on very rare BLAS/LAPACK implementations that support 64 bit integers see the note below).

PetscErrorCode PetscBLASIntCast(a,&b) checks if the given PetscInt a will fit in a PetscBLASInt, if not it generates a PETSC_ERR_ARG_OUTOFRANGE error

Installation Notes: The 64bit versions of MATLAB ship with BLAS and LAPACK that use 64 bit integers for sizes etc, if you run ./configure with the option --with-blaslapack-lib=[/Applications/,/Applications/] but you need to also use --known-64-bit-blas-indices.

MKL also ships with 64 bit integer versions of the BLAS and LAPACK, if you select those you must also ./configure with --known-64-bit-blas-indices

OpenBLAS can also be built to use 64 bit integers. The ./configure options --download-openblas -download-openblas-64-bit-blas-indices will build a 64 bit integer version

Developer Notes: Eventually ./configure should automatically determine the size of the integers used by BLAS/LAPACK.

External packages such as hypre, ML, SuperLU etc do not provide any support for passing 64 bit integers to BLAS/LAPACK so cannot be used with PETSc if you have set PetscBLASInt to long int.

See Also

PetscMPIInt, PetscInt, PetscBLASIntCast()

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages