sfilippone / psblas3

A library of parallel sparse linear algebra on high performance computer.
Other
56 stars 12 forks source link

Compiling error of 'psb_metispart_mod' [LONG INTEGERS] #8

Closed sagitter closed 3 years ago

sagitter commented 6 years ago

Hi all.

I'm testing compilation of psblas3 libraries for 8-byte integer data. Configure is set in this way:

+ ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-serial --without-metis '--with-fcopt=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wno-unused-variable -fPIC -I/usr/lib64/gfortran/modules -I/usr/include/openblas' '--with-ccopt=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -I/usr/include/openblas' --with-metis=-lmetis64 --with-amd=-lamd --with-blas=-lopenblas64 --with-lapack= --with-amdincdir=/usr/include/suitesparse --with-metisincdir=/usr/include --enable-long-integers

Are used openblas-serial64 and metis64 libraries from Fedora, util library (against Metis64) is failing:

make[1]: Entering directory '/home/sagitter/rpmbuild/BUILD/psblas3-3.5.2/build64/util'
gfortran -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wno-unused-variable -fPIC -I/usr/lib64/gfortran/modules -I/usr/include/openblas  -I. -I../modules  -DHAVE_AMD -DHAVE_METIS -DHAVE_LAPACK -DHAVE_FINAL -DHAVE_ISO_FORTRAN_ENV -DHAVE_FLUSH_STMT -DHAVE_VOLATILE -DLONG_INTEGERS -DSERIAL_MPI -DMPI_MOD  -c psb_metispart_mod.F90 -o psb_metispart_mod.o
psb_metispart_mod.F90:367:19:

             info = METIS_PartGraphKway(nl,irpl,jal,idummy,jdummy,&
                   1
Error: Type mismatch in argument 'n' at (1); passed INTEGER(8) to INTEGER(4)
psb_metispart_mod.F90:372:19:

             info = METIS_PartGraphKway(nl,irpl,jal,idummy,jdummy,&
                   1
Error: Type mismatch in argument 'n' at (1); passed INTEGER(8) to INTEGER(4)
psb_metispart_mod.F90:377:17:

           info = METIS_PartGraphKway(nl,irpl,jal,idummy,jdummy,&
                 1
Error: Type mismatch in argument 'n' at (1); passed INTEGER(8) to INTEGER(4)
psb_metispart_mod.F90:265:15:

         wgh_ = weights
               1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1) [-Wconversion]
psb_metispart_mod.F90:244:15:

         wgh_ = weights
               1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1) [-Wconversion]
psb_metispart_mod.F90:185:17:

           wgh_ = weights
                 1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1) [-Wconversion]
psb_metispart_mod.F90:158:17:

           wgh_ = weights
                 1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1) [-Wconversion]
make[1]: *** [../Make.inc:80: psb_metispart_mod.o] Error 1
make[1]: Leaving directory '/home/sagitter/rpmbuild/BUILD/psblas3-3.5.2/build64/util'
make: *** [Makefile:24: utild] Error 2
sfilippone commented 6 years ago

Hi @sagitter

I'm testing compilation of psblas3 libraries for 8-byte integer data.

Don't. I am looking at a complete rewrite of 8-bytes support in the branch MixedI8; in that context we'll look at metis64. BTW, I'd like any feedback on the approach I am testing in the branch, and in the related MLD2P4 branch; however I have not put in a proper documentation yet, feel free to contact me offline if you want to try it out. Thanks Salvatore

sfilippone commented 5 years ago

Hi @sagitter I have now branched versions 3.6 and 2.2, and I merged into development the experimental version with a uch better handling of integer sizes. More specifically, you can choose at configure time whether local indices are 4 or 8 bytes, and whether global indices are 4 or 8 bytes, with the only forbidden combination being local 8 bytes and global 4 bytes. The default version currently is set to be 4 bytes locals and 8 bytes globals. In this context, we should also change the METIS interface to call the 4- or 8- bytes version depending on what is chosen at configure time; this I have not yet had time to do, but plan to work on it between now and mid-January. Any comments on the interface of the current development branch are welcome. Thanks S.

sagitter commented 4 years ago

I'm still getting similar error with psblas-3.6.1-3 (build log) but without requesting a compilation for long-integer data.

Please, tell me how to manage them.

Also, note the version of Configure script:

Welcome to the PSBLAS 3.5 configure Script. This creates Make.inc, but if you read carefully the documentation, you can make your own by hand for your needs. Be sure to specify the library paths of your interest. Examples: ./configure --with-libs=-L/some/directory/LIB <- will append to LIBS FC=mpif90 CC=mpicc ./configure <- will force FC,CC See ./configure --help=short fore more info.

sfilippone commented 4 years ago

My fault, I messed up with the creation of the release. Update available.

Salvatore

On Sun, Jun 28, 2020 at 5:48 PM Antonio notifications@github.com wrote:

I'm still getting same error with psblas-3.6.1-3: build log https://kojipkgs.fedoraproject.org//work/tasks/1727/46281727/build.log

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sfilippone/psblas3/issues/8#issuecomment-650784147, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD274TZOEPGNFWIK677NRZTRY5Q5LANCNFSM4FHZUDLA .

sagitter commented 4 years ago

Regarding the long_integer libraries build:

make[2]: Entering directory '/home/sagitter/rpmbuild/BUILD/psblas3-3.6.1-4/build64/base/modules'
gfortran -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules -fallow-argument-mismatch -fdefault-integer-8 -Wno-unused-variable -Wno-unused-dummy-argument -fPIC  -I.. -I. -I. -c aux/psb_hash_mod.f90 -o aux/psb_hash_mod.o
f951: Warning: '-Werror=' argument '-Werror=format-security' is not valid for Fortran
aux/psb_hash_mod.f90:350:14:

  350 |     hk = iand(psb_hashval(key),hmask)
      |              1
Error: There is no specific function for the generic 'psb_hashval' at (1)
aux/psb_hash_mod.f90:287:14:

  287 |     hk = iand(psb_hashval(key),hmask)
      |              1
Error: There is no specific function for the generic 'psb_hashval' at (1)

Full build log attached. psblas-3.6.1-4_build.log

sfilippone commented 4 years ago

As I mentioned before, this is a WONTFIX as far as 3.6 is concerned. The real solution is in the workings for 3.7. I will notify when I have a RC.

On Sun, Jul 19, 2020 at 1:08 PM Antonio notifications@github.com wrote:

Regarding the long_integer libraries build:

make[2]: Entering directory '/home/sagitter/rpmbuild/BUILD/psblas3-3.6.1-4/build64/base/modules' gfortran -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules -fallow-argument-mismatch -fdefault-integer-8 -Wno-unused-variable -Wno-unused-dummy-argument -fPIC -I.. -I. -I. -c aux/psb_hash_mod.f90 -o aux/psb_hash_mod.o f951: Warning: '-Werror=' argument '-Werror=format-security' is not valid for Fortran aux/psb_hash_mod.f90:350:14:

350 | hk = iand(psb_hashval(key),hmask) | 1 Error: There is no specific function for the generic 'psb_hashval' at (1) aux/psb_hash_mod.f90:287:14:

287 | hk = iand(psb_hashval(key),hmask) | 1 Error: There is no specific function for the generic 'psb_hashval' at (1)

Full build log attached. psblas-3.6.1-4_build.log https://github.com/sfilippone/psblas3/files/4943589/psblas-3.6.1-4_build.log

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sfilippone/psblas3/issues/8#issuecomment-660626947, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD274TYCWVONRANSZUJBTMDR4LHZLANCNFSM4FHZUDLA .

sfilippone commented 3 years ago

Long integer support (and METIS support) has been completey overhauled in V3.7.0