Problem with int64

Problems with Dalton installation? Find answers or ask for help here
Post Reply
Rusakur
Posts: 2
Joined: 21 Nov 2013, 08:35
First name(s): Yurij
Last name(s): Rusakov
Affiliation: Irkutsk Institute of Chemistry
Country: Russian Federation

Problem with int64

Post by Rusakur » 16 Dec 2013, 02:15

There is some problem during compilation in parallel mod with option --int64 and gcc4.5-gcc4.7. Kirk Peterson has already written about this problem:

[ 9%] Building C object CMakeFiles/dalton.dir/DALTON/dft/general.c.o
/home/kipeters/Dalton2013/DALTON/dft/general.c:626:1: error: conflicting types for 'mpi_sync_data'
In file included from /home/kipeters/Dalton2013/DALTON/dft/general.c:60:0:
/home/kipeters/Dalton2013/DALTON/dft/general.h:216:6: note: previous declaration of 'mpi_sync_data' was here
/home/kipeters/Dalton2013/DALTON/dft/general.c: In function 'dft_wake_slaves':
/home/kipeters/Dalton2013/DALTON/dft/general.c:646:5: warning: passing argument 2 of 'MPI_Comm_rank' from incompatible pointer type [enabled by default]....


It occurs only with option --int64 and gcc in conjugation with openmpi 1.4.4-1.6.5. With Intel compilers 12.5-14.0 compilation is well, but parallel executable not passes any tests. Serial compilation with option --int64 not involves blocks with 'MPI_Comm_rank' and works properly with any compilers. How this problem can be solved in code?

kipeters
Posts: 2
Joined: 15 Dec 2013, 23:34
First name(s): Kirk
Last name(s): Peterson
Affiliation: Washington State University
Country: United States

Re: Problem with int64

Post by kipeters » 16 Dec 2013, 05:58

All:

Sorry I didn't mention the --int64 option I used before, but I can now also confirm that even with gfortran and gcc (for both openmpi and Dalton2013), a 64-bit integer build fails with the previously noted error message. Note that the 64-bit build of openmpi was done according to the instructions given on the Dirac wiki page (both for ifort and gfortran). I've also tried a parallel ifort (v14.0.0) with gcc using a 32-bit build and while it compiles and links, several test jobs fail. A parallel 32-bit integer build using gfortran and gcc (4.7.2) seems to work fine.

best regards,

-Kirk

bast
Posts: 1210
Joined: 26 Aug 2013, 13:22
First name(s): Radovan
Last name(s): Bast
Affiliation: none
Country: Germany

Re: Problem with int64

Post by bast » 16 Dec 2013, 10:38

hi Yurij and Kirk,
I think that Dalton is not as thoroughly tested for 64bit integers with MPI as it is for 32bit integers with MPI.
personally I would avoid the default 64bit integers unless you have a very good motivation for it (like a calculation
that is impossible to run with 32bit integers). Also the mixed compiler configurations are not thoroughly tested
so there can be some rough edges for these situations.
radovan

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests