Skip to content

Commit 0a00a09

Browse files
author
Jakub Benda
committed
Add information about ILP64 mode into README
1 parent ea6d1ad commit 0a00a09

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

README

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,21 @@ This include file is then referenced in all subdirectory Makefiles. Once
134134
the include file has been modified, the entire installation process (including
135135
the building of testing executables) can be performed by typing ``make''
136136
in the top-level ScaLAPACK directory.
137+
138+
ScaLAPACK uses the default (typically 4-byte) integers. With compilers that
139+
support it, the library can be compiled with long (8-byte) integers instead.
140+
This can be achived by providing the flag "-DInt=long" to the C compiler
141+
(or with another corresponding C type) and, simultaneously, the appropriate
142+
integer promotion flag (e.g. "-fdefault-integer-8" or "-i8") to the Fortran
143+
compiler. It is expected that the BLAS/LAPACK library linked to ScaLAPACK uses
144+
the 8-byte integers as well. Note that in order to run the test suite with long
145+
integers, it is necessary to replace the hardcoded byte sizes in the tests
146+
before the compilation using
147+
148+
sed -i 's/INTSZ = 4/INTSZ = 8/g' TESTING/EIG/* TESTING/LIN/*
149+
sed -i 's/INTGSZ = 4/INTGSZ = 8/g' TESTING/EIG/* TESTING/LIN/*
150+
151+
Even then, the tests "xssep", "xsgsep" and "xssyevr" will fail, because they
152+
are already written with the assumption that an integer fits into memory
153+
occupied by a real number, which is mostly not true for combination of default
154+
Fortran real numbers and long integers.

0 commit comments

Comments
 (0)