Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Problems with Dalton installation? Find answers or ask for help here
Post Reply
BoThomsen
Posts: 2
Joined: 04 Mar 2015, 07:18
First name(s): Bo
Last name(s): Thomsen
Affiliation: RIKEN, Wako
Country: Japan

Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by BoThomsen » 04 Mar 2015, 09:14

My current setup is as follows

Optional flags in setup: --mpi --omp
Fortran Compiler: gfortran 4.9.1
C Compiler: gcc 4.9.1
MPI : OpenMPI 1.6.5

and I get the following error from cmake/gfortran

Code: Select all

/home/pibemanden/es_prog/DALTON-Source/DALTON/abacus/her2fck.F:514.23:

     &                 offset_mat,                                      
                            1
                            Error: Type mismatch in argument 'idispl' at (1); passed INTEGER(8) to INTEGER(4)
                            CMakeFiles/dalton.dir/build.make:2779: recipe for target 'CMakeFiles/dalton.dir/DALTON/abacus/her2fck.F.o' failed
                            make[2]: *** [CMakeFiles/dalton.dir/DALTON/abacus/her2fck.F.o] Error 1
                            CMakeFiles/Makefile2:1055: recipe for target 'CMakeFiles/dalton.dir/all' failed
                            make[1]: *** [CMakeFiles/dalton.dir/all] Error 2
                            Makefile:123: recipe for target 'all' failed
                            make: *** [all] Error 2
I checked the variable causing the problem and found that in DALTON/abacus/her2fck.F offset_mat is declared as integer (kind=mpi_offset_kind) .
While the subrutine in DALTON/gp/one_sided_communication_wrappers.F90 (line 121) takes an integer (kind=MPI_ADDRESS_KIND).

So I am guessing that my setup has a difference between MPI_ADDRESS_KIND and MPI_OFFSET_KIND, but I still believe that these two variables should have been declared in the same way in both files, no?

Changing the offset_mat declaration to (kind=mpi_address_kind) fixed my problem and DALTON compiled fine(I am currently running make test, but that wont finish today), however I would like a more official solution if possible.

stefan
Posts: 16
Joined: 27 Aug 2013, 16:37
First name(s): Stefan
Last name(s): Knecht

Re: Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by stefan » 04 Mar 2015, 10:05

hi,

you are right that there is an inconsistency in the kind declaration and i will fix it in the release version so that it goes into the next patch.
The correct kind should be MPI_OFFSET_KIND.
What surprises me is the fact that in your MPI lib, MPI_OFFSET_KIND and MPI_ADDRESS_KIND seem to refer to different integer kinds (integer*8 vs integer*4). I have never seen that before. AFAIK, they ought to be both integer*8…

with best regards,

stefan

stefan
Posts: 16
Joined: 27 Aug 2013, 16:37
First name(s): Stefan
Last name(s): Knecht

Re: Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by stefan » 04 Mar 2015, 10:22

hi again,

after careful checking, it turns out that to do it 100% correctly, one needs to define an additional integer of mpi_address_kind that takes care of the offset in the one-sided communication call. "offset_mat" is also used to read from a file and thus needs to have the mpi_offset_kind. here is the "git diff" of my fix:

Code: Select all

diff --git a/DALTON/abacus/her2fck.F b/DALTON/abacus/her2fck.F
index 0e5fcac..ab446b1 100644
--- a/DALTON/abacus/her2fck.F
+++ b/DALTON/abacus/her2fck.F
@@ -183,6 +183,7 @@ C*****************************************************************************
        real(8), intent(inout)         :: fmat_tmp(nbasis**2)
 #ifdef VAR_MPI
        integer (kind=mpi_offset_kind) :: offset_mat
+       integer (kind=mpi_address_kind):: address_mat
        integer                        :: status_read(mpi_status_size)
 #endif
 #include "twocom.h"
@@ -506,12 +507,13 @@ C        in R12 calculations (WK/UniKA/04-11-2002).
 
 #ifdef VAR_MPI
 !       print *, 'shmem_id, offset accum',
-!    &            communication_info_mpi%my_shmem_node_id,offset_mat
+!    &            communication_info_mpi%my_shmem_node_id,address_mat
 !       accumulate fock matrix on node/numa master
+        address_mat = (i-1)*nbasis**2
         call mpixaccum(fmat_tmp,
      &                 nbasis**2,
      &                 0, ! node/numa master
-     &                 offset_mat,
+     &                 address_mat,
      &                 nbasis**2,
      &                 communication_info_mpi%my_shmem_node_id,
      &                 MPI_LOCK_SHARED,
with best regards,

stefan

BoThomsen
Posts: 2
Joined: 04 Mar 2015, 07:18
First name(s): Bo
Last name(s): Thomsen
Affiliation: RIKEN, Wako
Country: Japan

Re: Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by BoThomsen » 04 Mar 2015, 15:03

Thank you very much for your swift reply Stefan. I will try the fix you proposed tomorrow, so far my dirty hack seems to be working fine. But I would rather have the correct solution in.

Best regards
Bo Thomsen

TSilva
Posts: 1
Joined: 16 Mar 2015, 11:31
First name(s): Tiago
Middle name(s): Jorge Laranjeira
Last name(s): Silva
Affiliation: Universidade de Lisboa
Country: Portugal

Re: Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by TSilva » 16 Mar 2015, 12:06

Dear Sirs,

I'm a Dalton new user and I found myself strugling to install Dalton2015.0 in UBUNTU 12.04 LTS (64bit). Here's the question: if i simply run ./setup, followed by make in the /build folder everything runs smoothly and the instalation is sucessfull. However, every test in the test suite fails. I thought I made a mistake by not configuring the mpi. Thus, I re-ran ./setup --mpi and I got the following message:

Code: Select all

Configuring system: Ubuntu
 FC=mpif90 CC=mpicc CXX=mpicxx cmake -DENABLE_MPI=ON -DENABLE_SGI_MPT=OFF -DENABLE_OMP=OFF -DENABLE_64BIT_INTEGERS=OFF -DENABLE_OPENACC=OFF -DENABLE_COLLAPSE=OFF -DENABLE_CSR=OFF -DENABLE_SCALASCA=OFF -DENABLE_VAMPIRTRACE=OFF -DENABLE_TIMINGS=OFF -DENABLE_XCFUN=OFF -DENABLE_INTEREST=OFF -DENABLE_ICHOR=OFF -DENABLE_STATIC_LINKING=OFF -DENABLE_SCALAPACK=OFF -DCMAKE_BUILD_TYPE=release /media/200450ea-19b3-4ab8-9c38-59ce35dcc4a9/programas/Dalton/DALTON-Source

CMake Error at /usr/share/cmake-2.8/Modules/CMakeDetermineFortranCompiler.cmake:31 (MESSAGE):
  Could not find compiler set in environment variable FC:

  mpif90.
Call Stack (most recent call first):
  CMakeLists.txt:18 (project)


CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_Fortran_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_Fortran_COMPILER
CMake Error: Could not find cmake module file:/media/200450ea-19b3-4ab8-9c38-59ce35dcc4a9/programas/Dalton/DALTON-Source/build/CMakeFiles/CMakeFortranCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module file:/media/200450ea-19b3-4ab8-9c38-59ce35dcc4a9/programas/Dalton/DALTON-Source/build/CMakeFiles/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:/media/200450ea-19b3-4ab8-9c38-59ce35dcc4a9/programas/Dalton/DALTON-Source/build/CMakeFiles/CMakeCXXCompiler.cmake
CMake Error: CMAKE_Fortran_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
In fact, every other options suggested in http://dalton-installation.readthedocs. ... neral.html fails. Any suggestions?

Thanks in advance.

TS

lyzhao
Posts: 74
Joined: 11 Nov 2013, 00:36
First name(s): Youzhao
Last name(s): Lan
Affiliation: Institute of Physical Chemistry
Country: China

Re: Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by lyzhao » 16 Mar 2015, 13:53

Dear TS,
Note that: Could not find compiler set in environment variable FC:
So, please install mpi (e.g., openmpi). If you have installed mpi, please properly export MPI paths.

Bests
Lan

olav
Posts: 145
Joined: 28 Aug 2013, 06:20
First name(s): Olav
Last name(s): Vahtras

Re: Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by olav » 16 Mar 2015, 14:03

Ubuntu is one of the most used and tested platforms. In addition to compilers which you obviously already have, I can recommend the following packages

liblapack-dev
libblas-dev
openmpi-bin
libopenmpi-dev

and it 'should work'

Regards,
Olav

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

Re: Compilation of Dalton2015.0 fails (Ubuntu14.10 - 32bit)

Post by bast » 17 Mar 2015, 09:05

TSilva wrote:Dear Sirs,
I'm a Dalton new user and I found myself strugling to install Dalton2015.0 in UBUNTU 12.04 LTS (64bit). Here's the question: if i simply run ./setup, followed by make in the /build folder everything runs smoothly and the instalation is sucessfull. However, every test in the test suite fails. I thought I made a mistake by not configuring the mpi.
hi,
just adding to this that the reason why all tests failed
has most probably nothing to do with not configuring
MPI. to see the reason why they failed please
inspect build/Testing/Temporary/LastTest.log.
probably they failed because of undefined scratch directory.
radovan

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest