Abinit 7.4.3 with libxc on CentOS

option, parallelism,...

Moderators: fgoudreault, mcote

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Locked
mixer
Posts: 6
Joined: Wed Jan 15, 2014 11:30 am

Abinit 7.4.3 with libxc on CentOS

Post by mixer » Wed Jan 15, 2014 3:00 pm

Hello,

I try to build abinit with libxc but it fails. I think the reason is trivial but I can't spot it :/
My configuration is (that's the part of spec):

Code: Select all

%configure CC=mpicc FC=mpif90 CXX=mpiCC \
--enable-mpi=yes \
--enable-mpi-io=yes \
--with-linalg-flavor=mkl \
--enable-64bit-flags=yes \
--with-linalg-libs="-L/opt/users/intel/composer_xe_2013/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_lapack -lmkl_intel_thread -lmkl_core -liomp5 -lpthread"\
--prefix=/opt/users/abinit/7.4.3 \
--with-dft-flavor=libxc


I'm getting:
(...)

Code: Select all

rm -f lib56_recipspace.a
ar rc lib56_recipspace.a getcut.o getkgrid.o getkpgnorm.o getmpw.o getng.o getph.o get_full_kgrid.o initylmg.o irrzg.o kpgio.o laplacian.o m_ab6_kpoints.o m_bz_mesh.o m_gsphere.o m_nesting.o mkkin.o setmqgrid.o setsym.o smpbz.o symkchk.o symg.o testkgrid.o interfaces_56_recipspace.o
ranlib lib56_recipspace.a
make[3]: Entering directory `/tmp/rpmbuild/BUILD/abinit-7.4.3/src/56_recipspace'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/rpmbuild/BUILD/abinit-7.4.3/src/56_recipspace'
make[2]: Leaving directory `/tmp/rpmbuild/BUILD/abinit-7.4.3/src/56_recipspace'
Making install in 56_xc
make[2]: Entering directory `/tmp/rpmbuild/BUILD/abinit-7.4.3/src/56_xc'
mpif90 -DHAVE_CONFIG_H -I. -I../.. -I../../src/incs -I../../src/incs -I/tmp/rpmbuild/BUILD/abinit-7.4.3/fallbacks/exports/include -I/tmp/rpmbuild/BUILD/abinit-7.4.3/fallbacks/exports/include   -free -module /tmp/rpmbuild/BUILD/abinit-7.4.3/src/mods  -O2 -xHost -g -extend-source -vec-report0 -noaltparam -nofpscomp   -c -o m_electronpositron.o m_electronpositron.F90
mpif90 -DHAVE_CONFIG_H -I. -I../.. -I../../src/incs -I../../src/incs -I/tmp/rpmbuild/BUILD/abinit-7.4.3/fallbacks/exports/include -I/tmp/rpmbuild/BUILD/abinit-7.4.3/fallbacks/exports/include   -free -module /tmp/rpmbuild/BUILD/abinit-7.4.3/src/mods  -O2 -xHost -g -extend-source -vec-report0 -noaltparam -nofpscomp   -c -o interfaces_56_xc.o interfaces_56_xc.F90
mpif90 -DHAVE_CONFIG_H -I. -I../.. -I../../src/incs -I../../src/incs -I/tmp/rpmbuild/BUILD/abinit-7.4.3/fallbacks/exports/include -I/tmp/rpmbuild/BUILD/abinit-7.4.3/fallbacks/exports/include   -free -module /tmp/rpmbuild/BUILD/abinit-7.4.3/src/mods  -O2 -xHost -g -extend-source -vec-report0 -noaltparam -nofpscomp   -c -o m_libxc_functionals.o m_libxc_functionals.F90
m_libxc_functionals.F90(40): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [XC_F90_TYPES_M]
 use xc_f90_types_m
-----^
m_libxc_functionals.F90(41): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [LIBXC_FUNCS_M]
 use libxc_funcs_m
-----^
m_libxc_functionals.F90(42): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [XC_F90_LIB_M]
 use xc_f90_lib_m
-----^
m_libxc_functionals.F90(54): error #6457: This derived type name has not been declared.   [XC_F90_POINTER_T]
    type(xc_f90_pointer_t) :: conf    ! the pointer used to call the library
---------^
m_libxc_functionals.F90(55): error #6457: This derived type name has not been declared.   [XC_F90_POINTER_T]
    type(xc_f90_pointer_t) :: info    ! information about the functional
---------^
m_libxc_functionals.F90(119): error #6457: This derived type name has not been declared.   [XC_F90_POINTER_T]
    type(xc_f90_pointer_t) :: str
---------^
m_libxc_functionals.F90(138): error #6404: This name does not have a type, and must have an explicit type.   [XC_F90_FAMILY_FROM_ID]
      funcs(ii)%family = xc_f90_family_from_id(funcs(ii)%id)
-------------------------^
m_libxc_functionals.F90(140): error #6404: This name does not have a type, and must have an explicit type.   [XC_FAMILY_LDA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
------------^
m_libxc_functionals.F90(140): error #6601: In a CASE statement, the case-value must be a constant expression.   [XC_FAMILY_LDA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
------------^
m_libxc_functionals.F90(140): error #6612: In a CASE statement, the case-value must be of type INTEGER, CHARACTER, or LOGICAL.   [XC_FAMILY_LDA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
------------^
m_libxc_functionals.F90(140): error #6611: The case-value must be of the same type as the case-expr.   [XC_FAMILY_LDA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
------------^
m_libxc_functionals.F90(140): error #6404: This name does not have a type, and must have an explicit type.   [XC_FAMILY_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
---------------------------^
m_libxc_functionals.F90(140): error #6601: In a CASE statement, the case-value must be a constant expression.   [XC_FAMILY_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
---------------------------^
m_libxc_functionals.F90(140): error #6612: In a CASE statement, the case-value must be of type INTEGER, CHARACTER, or LOGICAL.   [XC_FAMILY_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
---------------------------^
m_libxc_functionals.F90(140): error #6611: The case-value must be of the same type as the case-expr.   [XC_FAMILY_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
---------------------------^
m_libxc_functionals.F90(140): error #6404: This name does not have a type, and must have an explicit type.   [XC_FAMILY_HYB_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------^
m_libxc_functionals.F90(140): error #6601: In a CASE statement, the case-value must be a constant expression.   [XC_FAMILY_HYB_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------^
m_libxc_functionals.F90(140): error #6612: In a CASE statement, the case-value must be of type INTEGER, CHARACTER, or LOGICAL.   [XC_FAMILY_HYB_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------^
m_libxc_functionals.F90(140): error #6611: The case-value must be of the same type as the case-expr.   [XC_FAMILY_HYB_GGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------^
m_libxc_functionals.F90(140): error #6404: This name does not have a type, and must have an explicit type.   [XC_FAMILY_MGGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------------------------^
m_libxc_functionals.F90(140): error #6601: In a CASE statement, the case-value must be a constant expression.   [XC_FAMILY_MGGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------------------------^
m_libxc_functionals.F90(140): error #6612: In a CASE statement, the case-value must be of type INTEGER, CHARACTER, or LOGICAL.   [XC_FAMILY_MGGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------------------------^
m_libxc_functionals.F90(140): error #6611: The case-value must be of the same type as the case-expr.   [XC_FAMILY_MGGA]
      case (XC_FAMILY_LDA, XC_FAMILY_GGA,XC_FAMILY_HYB_GGA,XC_FAMILY_MGGA)
-----------------------------------------------------------^
m_libxc_functionals.F90(141): error #6460: This is not a field name that is defined in the encompassing structure.   [CONF]
        call xc_f90_func_init(funcs(ii)%conf,funcs(ii)%info,funcs(ii)%id,nspden_eff)
----------------------------------------^
m_libxc_functionals.F90(141): error #6460: This is not a field name that is defined in the encompassing structure.   [INFO]
        call xc_f90_func_init(funcs(ii)%conf,funcs(ii)%info,funcs(ii)%id,nspden_eff)
-------------------------------------------------------^
m_libxc_functionals.F90(142): error #6404: This name does not have a type, and must have an explicit type.   [XC_F90_INFO_FLAGS]
        funcs(ii)%has_fxc=(iand(xc_f90_info_flags(funcs(ii)%info),XC_FLAGS_HAVE_FXC)>0)
--------------------------------^
m_libxc_functionals.F90(142): error #6404: This name does not have a type, and must have an explicit type.   [XC_FLAGS_HAVE_FXC]
        funcs(ii)%has_fxc=(iand(xc_f90_info_flags(funcs(ii)%info),XC_FLAGS_HAVE_FXC)>0)
------------------------------------------------------------------^
m_libxc_functionals.F90(142): warning #7319: This argument's data type is incompatible with this intrinsic procedure; procedure assumed EXTERNAL.   [IAND]
        funcs(ii)%has_fxc=(iand(xc_f90_info_flags(funcs(ii)%info),XC_FLAGS_HAVE_FXC)>0)
--------------------------------^
m_libxc_functionals.F90(142): error #6404: This name does not have a type, and must have an explicit type.   [IAND]
        funcs(ii)%has_fxc=(iand(xc_f90_info_flags(funcs(ii)%info),XC_FLAGS_HAVE_FXC)>0)
---------------------------^
m_libxc_functionals.F90(153): error #6404: This name does not have a type, and must have an explicit type.   [XC_LDA_C_XALPHA]
      if (funcs(ii)%id == XC_LDA_C_XALPHA) then
--------------------------^
m_libxc_functionals.F90(161): error #6404: This name does not have a type, and must have an explicit type.   [STR]
      call xc_f90_info_refs(funcs(ii)%info,jj,str,message)
----------------------------------------------^
/tmp/mm/ifortKbs3gR.i90(1664): catastrophic error: Too many errors, exiting
compilation aborted for m_libxc_functionals.F90 (code 1)
make[2]: *** [m_libxc_functionals.o] Error 1
make[2]: Leaving directory `/tmp/rpmbuild/BUILD/abinit-7.4.3/src/56_xc'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/tmp/rpmbuild/BUILD/abinit-7.4.3/src'
make: *** [install-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.Gn9XIW (%install)


Relating to it:

Code: Select all

m_libxc_functionals.F90(40): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [XC_F90_TYPES_M]
 use xc_f90_types_m
-----^
m_libxc_functionals.F90(41): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [LIBXC_FUNCS_M]
 use libxc_funcs_m
-----^
m_libxc_functionals.F90(42): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [XC_F90_LIB_M]
 use xc_f90_lib_m


I found I have that files on my system:

Code: Select all

[mm@c SPECS]$ rpm -ql libxc-devel
/usr/include/xc.h
/usr/include/xc_config.h
/usr/include/xc_funcs.h
/usr/include/xc_version.h
/usr/lib64/gfortran/modules/libxc_funcs_m.mod
/usr/lib64/gfortran/modules/xc_f90_lib_m.mod
/usr/lib64/gfortran/modules/xc_f90_types_m.mod
/usr/lib64/libxc.so
/usr/lib64/pkgconfig/libxc.pc

[mm@c build]$ rpm -ql libxc
/usr/lib64/libxc.so.1
/usr/lib64/libxc.so.1.0.2
/usr/share/doc/libxc-2.0.2
/usr/share/doc/libxc-2.0.2/AUTHORS
/usr/share/doc/libxc-2.0.2/COPYING
/usr/share/doc/libxc-2.0.2/ChangeLog
/usr/share/doc/libxc-2.0.2/NEWS
/usr/share/doc/libxc-2.0.2/README
/usr/share/doc/libxc-2.0.2/TODO



But I don't know how to include it and if it is a right way.

I use:

Code: Select all

[mm@c build]$ mpicc --version
icc (ICC) 13.1.0 20130121
Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.

[mm@c build]$ mpif90 --version
ifort (IFORT) 13.1.0 20130121
Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.




Thank you for any help.

---
Mixer

User avatar
jbeuken
Posts: 365
Joined: Tue Aug 18, 2009 9:24 pm
Contact:

Re: Abinit 7.4.3 with libxc on CentOS

Post by jbeuken » Wed Jan 15, 2014 11:31 pm

Hi,

the libxc found by the build system is not "compatible" with intel compiler ( only with gfortran )

I suggest to uninstall the libxc package then the libxc fallback will be used...

jmb
------
Jean-Michel Beuken
Computer Scientist

mixer
Posts: 6
Joined: Wed Jan 15, 2014 11:30 am

Re: Abinit 7.4.3 with libxc on CentOS

Post by mixer » Thu Jan 16, 2014 12:27 pm

Hello,

Thank you for the answer.
I've removed libxc but still have the same error.
Any other ideas what could be wrong?

---
Mixer

User avatar
jbeuken
Posts: 365
Joined: Tue Aug 18, 2009 9:24 pm
Contact:

Re: Abinit 7.4.3 with libxc on CentOS

Post by jbeuken » Thu Jan 16, 2014 2:26 pm

have you made :

Code: Select all

make clean


before to restart the configure ?

jmb
------
Jean-Michel Beuken
Computer Scientist

mixer
Posts: 6
Joined: Wed Jan 15, 2014 11:30 am

Re: Abinit 7.4.3 with libxc on CentOS

Post by mixer » Fri Jan 17, 2014 2:17 pm

Hello,

I've already drop to build packages ... and now it configures and makes fine, but when I try to run some calculations I've got:

Code: Select all

[mm@c100 abinit]$ /usr/lib64/openmpi-icc/bin/mpiexec -np 2 abinit < tparal_1.files
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 14.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
 Your architecture is not able to handle 8, 4 or 2-bytes FORTRAN file record markers!
 You cannot use ABINIT and MPI/IO.
 MPI_ERROR_STRING: MPI_ERR_UNKNOWN: unknown error
--------------------------------------------------------------------------
mpiexec has exited due to process rank 0 with PID 6842 on
node c100 exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpiexec (as reported here).

--------------------------------------------------------------------------

Any idea what could be wrong now?

my configuration files is:

Code: Select all

enable_mpi=yes
with_linalg_flavor=mkl
enable_64bit_flags=yes
with_linalg_libs="-L/opt/intel/composer_xe_2013/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_lapack -lmkl_intel_thread -lmkl_core -liomp5 -lpthread"
prefix=/opt/abinit/7.4.3
with_dft_flavor="libxc"
with_linalg_incs="-I/opt/intel/composer_xe_2013/mkl/include"


Thanks,
Mixer

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: Abinit 7.4.3 with libxc on CentOS

Post by gmatteo » Fri Jan 17, 2014 4:21 pm

Open ~abinit/src/12_hide_mpi/m_xmpi.F90

Find the routine xmpio_get_info_frm inside the module and replace it with the version provided below.


Code: Select all

!!****f* m_xmpi/xmpio_get_info_frm
!! NAME
!!  xmpio_marker_info
!!
!! FUNCTION
!!  Return the byte size of the Fortran record and its corresponding MPI_type (compiler-dependent).
!!  These two values are needed to access sequential binary Fortran files with MPI/IO routines where
!!  C-streams are used.
!!
!! INPUTS
!! comm=MPI communicator. Only master will find the values for the record marker. The results
!! are then broadcast to all the other nodes in comm.
!!
!! OUTPUT
!!  bsize_frm=Byte size of the Fortran record marker.
!!  mpi_type_frm=MPI type of the marker.
!!
!! PARENTS
!!
!! CHILDREN
!!
!! SOURCE

subroutine xmpio_get_info_frm(bsize_frm,mpi_type_frm,comm)

 use defs_basis

!This section has been created automatically by the script Abilint (TD).
!Do not modify the following lines by hand.
#undef ABI_FUNC
#define ABI_FUNC 'xmpio_get_info_frm'
!End of the abilint section

 implicit none

!Arguments ------------------------------------
!scalars
 integer,intent(in) :: comm
 integer,intent(out) :: mpi_type_frm,bsize_frm

!Local variables-------------------------------
 integer :: my_rank
#ifdef HAVE_MPI_IO
!scalars
 integer,parameter :: master=0
 integer :: spt,ept,ii
 integer :: f90_unt,ierr,iimax,mpio_fh,bsize_int,mpierr
 integer(XMPI_OFFSET_KIND) :: offset,rml
 character(len=fnlen) :: fname
!character(len=500) :: msg
 logical :: file_exists
!arrays
 integer :: xvals(2),ivals(100),read_5ivals(5),ref_5ivals(5)
 integer :: rm_lengths(4)=(/4,8,2,16/)
 integer :: statux(MPI_STATUS_SIZE)
 real(dp) :: xrand(fnlen)
#endif

!************************************************************************

 bsize_frm=0; mpi_type_frm=0

 my_rank = xcomm_rank(comm)
 !RETURN

#ifdef HAVE_MPI_IO
 if (my_rank == master) then
   ! Fortran scratch files cannot have a name so have to generate a random one.
   ! cannot use pick_aname since it is higher level.
   fname = "__MPI_IO_FRM__"
   spt=LEN(trim(fname))+1; ept=spt

   inquire(file=trim(fname),exist=file_exists)

   do while (file_exists)
     call RANDOM_NUMBER(xrand(spt:ept))
     !xrand = xrand*127
     xrand(spt:ept) = 64+xrand(spt:ept)*26
     do ii=spt,ept
       fname(ii:ii) = ACHAR(NINT(xrand(ii)))
     end do
     ept = MIN(ept+1,fnlen)
     inquire(file=trim(fname),exist=file_exists)
   end do
   !
   ! Write five integers on the binary file open in Fortran mode, then try
   ! to reread the values with MPI-IO using different offsets for the record marker.
   !
   f90_unt = tmp_unit
   ! MT dec 2013: suppress the new attribute: often cause unwanted errors
   !              and theoretically useless because of the previous inquire
   open(unit=f90_unt,file=trim(fname),form="unformatted",iostat=ierr)
   !open(unit=f90_unt,file=fname,status="new",form="unformatted",iostat=ierr)
   !if (ierr/=0) then
   !  call xmpi_abort(msg='Error while opening:'//TRIM(fname))
   !end if

   ref_5ivals = (/(ii, ii=5,9)/)
   ivals = HUGE(1); ivals(5:9)=ref_5ivals
   write(f90_unt) ivals
   close(f90_unt)

   call MPI_FILE_OPEN(xmpi_self, trim(fname), MPI_MODE_RDONLY, MPI_INFO_NULL, mpio_fh,mpierr)

   iimax=3 ! Define number of INTEGER types to be tested
#ifdef HAVE_FC_INT_QUAD
   iimax=4
#endif
   !
   ! Try to read ivals(5:9) from file.
   ii=0; bsize_frm=-1
   call MPI_TYPE_SIZE(MPI_INTEGER,bsize_int,mpierr)

   do while (bsize_frm<=0 .and. ii<iimax)
     ii=ii+1
     rml = rm_lengths(ii)
     offset = rml + 4 * bsize_int
     call MPI_FILE_READ_AT(mpio_fh,offset,read_5ivals,5,MPI_INTEGER,statux,mpierr)
     !write(std_out,*)read_5ivals
     if (mpierr==MPI_SUCCESS .and. ALL(read_5ivals==ref_5ivals) ) bsize_frm=rml
   end do

   if (ii==iimax.and.bsize_frm<=0) then
!      if (iimax>=4) then
!        write(std_out,'(3a)') &
! &        ' Your architecture is not able to handle 16, 8, 4 or 2-bytes FORTRAN file record markers! ',ch10,&
! &        ' You cannot use ABINIT and MPI/IO.'
!      else
!        write(std_out,'(3a)') &
! &        ' Your architecture is not able to handle 8, 4 or 2-bytes FORTRAN file record markers! ',ch10,&
! &        ' You cannot use ABINIT and MPI/IO.'
!      end if
     write(std_out,'(7a)') &
&      ' Error during FORTRAN file record marker detection:',ch10,&
&      ' It was not possible to read/write a small file!',ch10,&
&      ' ACTION: check your access permissions to the file system.',ch10,&
&      ' Common sources of this problem: quota limit exceeded, R/W incorrect permissions, ...'
     call xmpi_abort()
   else
     !write(std_out,'(a,i0)')' Detected FORTRAN record mark length: ',bsize_frm
   end if

   call MPI_FILE_CLOSE(mpio_fh, mpierr)
   !
   ! Select MPI datatype corresponding to the Fortran marker.
   SELECT CASE (bsize_frm)
   CASE (4)
     mpi_type_frm=MPI_INTEGER4
   CASE (8)
     mpi_type_frm=MPI_INTEGER8
#if defined HAVE_FC_INT_QUAD
   CASE (16)
     mpi_type_frm=MPI_INTEGER16
#endif
   CASE (2)
     mpi_type_frm=MPI_INTEGER2
   CASE DEFAULT
     write(std_out,'(a,i0)')" Wrong bsize_frm: ",bsize_frm
     call xmpi_abort()
   END SELECT

   open(unit=f90_unt,file=trim(fname))
   close(f90_unt,status="delete")
 end if
 !
 ! Broadcast data.
 xvals = (/bsize_frm,mpi_type_frm/)
 call xcast_mpi(xvals,master,comm,mpierr)

 bsize_frm    = xvals(1)
 mpi_type_frm = xvals(2)
#endif

end subroutine xmpio_get_info_frm
!!***

mixer
Posts: 6
Joined: Wed Jan 15, 2014 11:30 am

Re: Abinit 7.4.3 with libxc on CentOS

Post by mixer » Mon Jan 20, 2014 10:02 am

Hello,

I've change this and get:

Code: Select all

--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 14.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
 Error during FORTRAN file record marker detection:
 It was not possible to read/write a small file!
 ACTION: check your access permissions to the file system.
 Common sources of this problem: quota limit exceeded, R/W incorrect permissions, ...
 MPI_ERROR_STRING: MPI_ERR_UNKNOWN: unknown error
--------------------------------------------------------------------------
mpiexec has exited due to process rank 0 with PID 22552 on
node c100 exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpiexec (as reported here).
--------------------------------------------------------------------------


I've installed the most new abinit (7.6.1) and have exactly the same error.

Thanks for any help,
Mixer

User avatar
jbeuken
Posts: 365
Joined: Tue Aug 18, 2009 9:24 pm
Contact:

Re: Abinit 7.4.3 with libxc on CentOS

Post by jbeuken » Mon Jan 20, 2014 10:58 am

Hi,

this is my ac file :

Code: Select all

CPP="icc -E"
enable_mpi="yes"
enable_mpi_io="yes"
with_mpi_prefix="/usr/local/openmpi_intel14"
with_trio_flavor="netcdf+etsf_io+fox"
with_fft_flavor="fftw3"
with_fft_libs="-L/opt/intel/composerxe_14/mkl/lib/intel64 -Wl,--start-group  -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group"
with_linalg_flavor="mkl"
with_linalg_libs="-L/opt/intel/composerxe_14/mkl/lib/intel64 -Wl,--start-group  -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group"
with_dft_flavor="atompaw+bigdft+libxc+wannier90"
enable_clib="yes"
enable_gw_dpc="yes"
enable_openmp="no"


and all the tests pass with the version 7.6.1

Code: Select all

==========================================================================
          Serie   #failed   #passed  #succes  #skip  |   #CPU      #WALL
==========================================================================
        atompaw |     0   |    1   |    1   |    0   |    15.7  |    16.0
         bigdft |     0   |    4   |   19   |    0   |   406.8  |   407.8
       built-in |     0   |    0   |    7   |    0   |     4.9  |     5.4
        etsf_io |     0   |    0   |    7   |    0   |    13.8  |    14.2
           fast |     0   |    0   |   11   |    0   |    30.1  |    31.6
            fox |     0   |    1   |    1   |    0   |    12.1  |    12.2
          libxc |     0   |    6   |   15   |    0   |   193.1  |   197.1
      tutoparal |     0   |    0   |    1   |    1   |     0.4  |     0.4
      tutoplugs |     0   |    4   |    0   |    0   |    13.7  |    14.0
     tutorespfn |     0   |   10   |   12   |    0   |   898.6  |   907.4
       tutorial |     0   |    8   |   40   |    0   |   627.1  |   634.8
        unitary |     0   |    1   |   16   |   13   |    41.5  |    41.9
             v1 |     0   |    2   |   74   |    0   |   162.9  |   170.5
             v2 |     0   |   11   |   69   |    0   |   216.5  |   226.3
             v3 |     0   |   10   |   72   |    0   |   320.3  |   337.4
             v4 |     0   |   17   |   46   |    0   |   363.4  |   376.7
             v5 |     0   |   18   |   56   |    0   |   733.8  |   757.4
             v6 |     0   |   14   |   46   |    0   |   565.2  |   582.8
        v67mbpt |     0   |    4   |   13   |    0   |   200.6  |   204.0
             v7 |     0   |    8   |   12   |    0   |   406.8  |   412.7
          vdwxc |     0   |    0   |    1   |    0   |    12.7  |    12.8
      wannier90 |     0   |    6   |    0   |    0   |    27.4  |    28.0
==========================================================================
          paral |     0   |   19   |   51   |   15   |   769.2  |   783.3
          mpiio |     0   |    5   |    8   |    1   |    82.8  |    84.9
==========================================================================


2 remarks :

1) I use OpenMPI 1.6.5 because I don't have license for impi
2) I use fftw3 from mkl 11.1

for info, the OS is Scientific Linux release 6.1 (but I have also a working config with CentOS 6.4/intel13.1+mkl11.0/OpenMPI 1.6.4 )

jmb
------
Jean-Michel Beuken
Computer Scientist

mixer
Posts: 6
Joined: Wed Jan 15, 2014 11:30 am

Re: Abinit 7.4.3 with libxc on CentOS

Post by mixer » Mon Jan 20, 2014 4:15 pm

Hello,

I've have still the same problem ... could it be caused by the old mpi version?
I have openmpi-icc-1.5.4-1.
Here is my current configuration file:

enable_mpi="yes"
enable_mpi_io="yes"
with_mpi_prefix="/usr/lib64/openmpi-icc"
with_fft_flavor="fftw3"
with_fft_libs="-L/opt/intel/composer_xe_2013/mkl/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group"
with_linalg_flavor=mkl
with_linalg_libs="-L/opt/intel/composer_xe_2013/mkl/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group"
prefix=/opt/abinit/7.6.1
with_dft_flavor="libxc"

Thank you for any help,
Mixer

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: Abinit 7.4.3 with libxc on CentOS

Post by gmatteo » Mon Jan 20, 2014 4:54 pm

've have still the same problem ... could it be caused by the old mpi version?


Could you try to install a more recent version of openmpi?

mixer
Posts: 6
Joined: Wed Jan 15, 2014 11:30 am

Re: Abinit 7.4.3 with libxc on CentOS

Post by mixer » Thu Jan 23, 2014 3:01 pm

Hello,

Now with openmpi 1.6.5 and gcc 4.4.7 it compiles fine.
When I run one of my test I'm getting:

Code: Select all

  ABINIT 
 
  Give name for formatted input file:
tparal_1.in
  Give name for formatted output file:
tparal_1.out
  Give root name for generic input files:
tparal_1i
  Give root name for generic output files:
tparal_1o
  Give root name for generic temporary files:
tparal_1

.Version 7.6.1 of ABINIT
.(MPI version, prepared for a x86_64_linux_gnu4.4 computer)

.Copyright (C) 1998-2013 ABINIT group .
 ABINIT comes with ABSOLUTELY NO WARRANTY.
 It is free software, and you are welcome to redistribute it
 under certain conditions (GNU General Public License,
 see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt).

 ABINIT is a project of the Universite Catholique de Louvain,
 Corning Inc. and other collaborators, see ~abinit/doc/developers/contributors.txt .
 Please read ~abinit/doc/users/acknowledgments.html for suggested
 acknowledgments of the ABINIT effort.
 For more information, see http://www.abinit.org .

.Starting date : Thu 23 Jan 2014.
- ( at 12h59 )
 

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 === Build Information ===
  Version       : 7.6.1
  Build target  : x86_64_linux_gnu4.4
  Build date    : 20140123

 === Compiler Suite ===
  C compiler       : gnu4.4
  CFLAGS           :  -g -O2 -mtune=native -march=native
  C++ compiler     : gnu4.4
  CXXFLAGS         :  -g -O2 -mtune=native -march=native
  Fortran compiler : gnu4.4
  FCFLAGS          :  -g -ffree-line-length-none
  FC_LDFLAGS       :

 === Optimizations ===
  Debug level        : basic
  Optimization level : standard
  Architecture       : intel_xeon

 === Multicore ===
  Parallel build : yes
  Parallel I/O   : yes
  Time tracing   : no
  openMP support : no
  GPU support    : no

 === Connectors / Fallbacks ===
  Connectors on : yes
  Fallbacks on  : yes
  DFT flavor    : libxc-fallback
  FFT flavor    : none
  LINALG flavor : netlib
  MATH flavor   : none
  TIMER flavor  : abinit
  TRIO flavor   : none

 === Experimental features ===
  Bindings            : no
  Exports             : no
  GW double-precision : no

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Default optimizations:
   -O2 -mtune=native -march=native


 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 CPP options activated during the build:

                    CC_GNU                   CXX_GNU                    FC_GNU

            HAVE_DFT_LIBXC HAVE_FC_ALLOCATABLE_DT...  HAVE_FC_COMMAND_ARGUMENT

           HAVE_FC_CPUTIME              HAVE_FC_EXIT             HAVE_FC_FLUSH

             HAVE_FC_GAMMA            HAVE_FC_GETENV          HAVE_FC_INT_QUAD

             HAVE_FC_IOMSG     HAVE_FC_ISO_C_BINDING        HAVE_FC_LONG_LINES

              HAVE_FC_NULL         HAVE_FC_STREAM_IO            HAVE_FC_SYSTEM

          HAVE_FORTRAN2003        HAVE_LIBPAW_ABINIT               HAVE_LINALG

        HAVE_LINALG_SERIAL                  HAVE_MPI                 HAVE_MPI2

               HAVE_MPI_IO HAVE_MPI_TYPE_CREATE_S...                HAVE_NUMPY

             HAVE_OS_LINUX                HAVE_TIMER         HAVE_TIMER_ABINIT

            HAVE_TIMER_MPI         HAVE_TIMER_SERIAL              USE_MACROAVE

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

- input  file    -> tparal_1.in
- output file    -> tparal_1.out
- root for input  files -> tparal_1i
- root for output files -> tparal_1o

-instrng :    39 lines of input have been read from file tparal_1.in


 iofn2 : Please give name of formatted atomic psp file
 iofn2 : for atom type   1 , psp file is Psps_for_tests/HGH/82pb.4.hgh
At line 115 of file ../../../src/57_iopsp_parser/inpspheads.F90 (unit = 9, file = 'fort.9')
Fortran runtime error: End of file
--------------------------------------------------------------------------
mpiexec has exited due to process rank 0 with PID 2454 on
node r100 exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpiexec (as reported here).
--------------------------------------------------------------------------


Where to find any example with psp file?
Thank you.

---
Mixer

Locked