parpack: no ILP64 support.

This commit is contained in:
Franck HOUSSEN
2022-08-14 23:10:17 +02:00
parent 5c81720203
commit 04e1b3c9db
5 changed files with 7 additions and 13 deletions
+1 -1
View File
@@ -153,7 +153,7 @@ jobs:
- name: Run job
run: |
./bootstrap
./configure --enable-mpi --enable-icb --with-blas=mkl_gf_ilp64 --with-lapack=mkl_gf_ilp64
./configure --enable-icb --with-blas=mkl_gf_ilp64 --with-lapack=mkl_gf_ilp64
make all
make check
env:
+1
View File
@@ -30,6 +30,7 @@ arpack-ng - 3.9.0
* [BUG FIX] Make sure iseed is always initialized to values allowed by lapack ?larnv.
* [BUG FIX] According to lapack doc of ?larnv, iseed(4) must be odd.
* [BUG FIX] Use MPI ICB types (mpi_f08) instead of integer(kind=i_int).
* parpack: no ILP64 support.
[ Haoyang Liu ]
* CMake: minimum required version changed to 3.0
+2 -6
View File
@@ -406,13 +406,9 @@ if (INTERFACE64)
message(WARNING "build script does not know how to make your Fortran compiler use 64-bit integers: set it manually via FFLAGS.")
endif ()
# Compiling with INTERFACE64 means you need to have control on integer type.
# If MPI is also required, then MPI types must be consistent with ILP64:
# to make sure of this, we must use the ISO_C_BINDING API provided by MPI.
# TODO: this needs full re-write of parpack to support ILP64...
if (MPI)
if (NOT HAVE_MPI_ICB)
message(FATAL_ERROR "ILP64 support require use of MPI library which provides ISO_C_BINDING support.")
endif()
message(FATAL_ERROR "Parallel arpack does not support ILP64.")
endif()
else ()
set(INTERFACE64 0)
+1
View File
@@ -18,6 +18,7 @@ Important Features:
* arpackmm: utility to test arpack with matrix market files.
Note: to run this utility, you need the eigen library (to handle RCI).
* ILP64 support:
* Sequential arpack supports ILP64, but, parallel arpack doesn't.
* reminder: you can NOT mix ILP64 with LP64. If you compile arpack-ng with ILP64
(resp. LP64) support, you MUST insure your BLAS/LAPACK is compliant with ILP64
(resp. LP64).
+2 -6
View File
@@ -190,14 +190,10 @@ AS_IF([test x"$enable_mpi" != x"no"], [
AC_LANG_POP([Fortran])
])
dnl Compiling with INTERFACE64 means you need to have control on integer type.
dnl If MPI is also required, then MPI types must be consistent with ILP64:
dnl to make sure of this, we must use the ISO_C_BINDING API provided by MPI.
dnl TODO: this needs full re-write of parpack to support ILP64...
if test x"$INTERFACE64" == x"1"; then
if test x"$enable_mpi" != x"no"; then
if test x"$enable_mpi_icb" == x"no"; then
AC_MSG_ERROR([ILP64 support require use of MPI library which provides ISO_C_BINDING support])
fi
AC_MSG_ERROR([Parallel arpack does not support ILP64.])
fi
fi