Page 1 of 1

【Solved】Compiling error in 12_hide_mpi by PathScale

Posted: Sat Apr 14, 2012 1:56 pm
by vistawanted
I am using PathScale ( the nightly version which can be downloaded from http://www.pathscale.com/ekopath-compiler-suite ) for mpich2 and pathscale compiling.
The system is Red Hat Enterprise Linux 6.2 x86_64 Server, and mpich2 is the 1.4.1p version.
I have compiled MPICH2 by

Code: Select all

 ./configure --preifx=xxx FC=pathf90 FCFLAGS=-O3 --with-romio --disable-weak-symbols --enable-f90modules 

Then, after add the {mpich_install}/bin to the environment variable, I began configurate Abinit 6.12.3 by

Code: Select all

 ./configure --prefix=xxx --enable-mpi=yes FC=mpif90 --with-dft-flavor="libxc" 

Then, I use

Code: Select all

 make mj4 
to run the compile process, until the error happen:
mpif90 -DHAVE_CONFIG_H -I. -I../.. -I../../src/incs -I../../src/incs -I/home/vbox/Downloads/abinit-6.12.3/fallbacks/exports/include -freeform -module /home/vbox/Downloads/abinit-6.12.3/src/mods -O2 -g -extend-source -c -o interfaces_12_hide_mpi.o interfaces_12_hide_mpi.F90

MODULE m_xmpi
^
pathf95-855 pathf90: ERROR M_XMPI, File = m_xmpi.F90, Line = 30, Column = 8
The compiler has detected errors in module "M_XMPI". No module information file will be created for this module.

call MPI_Type_hvector(ny,1,stride_x,column_type,new_type,mpi_err)
^
pathf95-1307 pathf90: ERROR XMPIO_CREATE_FSUBARRAY_2D, File = m_xmpi.F90, Line = 2214, Column = 29
The kind (4) of this actual argument does not match that of its associated dummy argument (8).

call MPI_Type_hvector(ny,1,stride_x,column_type,plane_type,mpi_err)
^
pathf95-1307 pathf90: ERROR XMPIO_CREATE_FSUBARRAY_3D, File = m_xmpi.F90, Line = 2297, Column = 29
The kind (4) of this actual argument does not match that of its associated dummy argument (8).

call MPI_Type_hvector(nz,1,ldy*stride_x,plane_type,new_type,mpi_err)
^
pathf95-1307 pathf90: ERROR XMPIO_CREATE_FSUBARRAY_3D, File = m_xmpi.F90, Line = 2299, Column = 32
The kind (4) of this actual argument does not match that of its associated dummy argument (8).

call MPI_Type_hvector(ny,1,stride_x,column_type,plane_type,mpi_err)
^
pathf95-1307 pathf90: ERROR XMPIO_CREATE_FSUBARRAY_4D, File = m_xmpi.F90, Line = 2383, Column = 29
The kind (4) of this actual argument does not match that of its associated dummy argument (8).

call MPI_Type_hvector(nz,1,ldy*stride_x,plane_type,vol_type,mpi_err)
^
pathf95-1307 pathf90: ERROR XMPIO_CREATE_FSUBARRAY_4D, File = m_xmpi.F90, Line = 2385, Column = 32
The kind (4) of this actual argument does not match that of its associated dummy argument (8).

call MPI_Type_hvector(na,1,ldz*ldy*stride_x,vol_type,new_type,mpi_err)
^
pathf95-1307 pathf90: ERROR XMPIO_CREATE_FSUBARRAY_4D, File = m_xmpi.F90, Line = 2387, Column = 36
The kind (4) of this actual argument does not match that of its associated dummy argument (8).

pathf95: PathScale(TM) Fortran Version 4.0.12.1 (f14) Sat Apr 14, 2012 17:20:47
pathf95: 14684 source lines
pathf95: 7 Error(s), 0 Warning(s), 0 Other message(s), 0 ANSI(s)
pathf95: "explain pathf95-message number" gives more information about each message
make[5]: *** [m_xmpi.o] Error 1
make[5]: Leaving directory `....

Since my CPU is AMD Phenom II x6, I think PathScale should provide better speed and compatity than ifort does. How can I overcome this problem? Any suggestion will be welcome.

Re: Compiling error in 12_hide_mpi by PathScale

Posted: Sat Apr 14, 2012 9:09 pm
by jbeuken
Dear Gao Zhe,

In our test farm, we have a bot with PathScale Compiler ( ekopath 4.0.12 ) and use OpenMPI 1.4.4.
with version 6.12.3, all tests ( with all plugins ) pass except test Q4 of MPI-IO

my some tests with the nightly version have failed ( even with the paid version < 4.0.12 )

for infos :

this is my script to compile OpenMPI :

Code: Select all

#!/bin/bash
#
export CC='pathcc'
export CFLAGS='-O2 -m64'
export F77='pathf90'
export F77FLAGS=' -O2 -m64'
export FC='pathf90'
export FCFLAGS='-O2 -m64'
#
../configure --prefix=/usr/local/openmpi-1.4.4-psc \
       --disable-ipv6  --enable-static \
            --enable-mpi-f77 --enable-mpi-f90 \
       --enable-mpi-profile \
       --disable-mpi-cxx --disable-mpi-cxx-seek \      
            --enable-contrib-no-build=libnbc,vt \
            --enable-mca-no-build=maffinity,btl-portals


and this is my *.ac file to configure of abinit :

Code: Select all

enable_64bit_flags="yes"
enable_mpi="yes"
enable_mpi_io="no"
with_mpi_prefix="/usr/local/openmpi-path64"
with_linalg_flavor="netlib"
with_linalg_libs="-L/usr/local/lib64/linalg_psc -llapack -lblas"
enable_clib="yes"
enable_gw_dpc="yes"


regards

jmb

Re: Compiling error in 12_hide_mpi by PathScale

Posted: Sat Apr 14, 2012 10:41 pm
by vistawanted
jbeuken wrote:Dear Gao Zhe,

In our test farm, we have a bot with PathScale Compiler ( ekopath 4.0.12 ) and use OpenMPI 1.4.4.
with version 6.12.3, all tests ( with all plugins ) pass except test Q4 of MPI-IO

my some tests with the nightly version have failed ( even with the paid version < 4.0.12 )

......

regards

jmb


Dear jbeuken
Thanks for your reply.
I tried several times with different parameters and found that the error in m_xmpi.F90 code can be solved by adding -i8 into FCFLAGS.
However, -r8 cannot be added due to the compiling error in etsf_io.
Finally, my compiling stopped at 28_numeric_noabirule as:
make[5]: Entering directory `/home/vbox/Downloads/abinit-6.12.3/src/28_numeric_noabirule'
mpif90 -DHAVE_CONFIG_H -I. -I../.. -I../../src/incs -I../../src/incs -I/home/vbox/Downloads/abinit-6.12.3/fallbacks/exports/include -freeform -module /home/vbox/Downloads/abinit-6.12.3/src/mods -m64 -align64 -i8 -fullwarn -c -o m_bspline.o m_bspline.F90

### Assertion failure at line 110 of /var/atlassian/application-data/bamboo/xml-data/build-dir/EKOPATH-NIGHTLYLINUX-RELEASE/src/ekopath-suite/ekopath/compiler/src/be/lno/dep.cxx:
### Compiler Error in file m_bspline.F90 during Loop Nest Optimizer phase:
### num_dim = 16 is too large in Create_DEPV_ARRAY
Signal: Aborted in Loop Nest Optimizer phase.
Error: Signal Aborted in phase Loop Nest Optimizer -- processing aborted
*** Internal stack backtrace:
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be() [0xb96abe]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be() [0xb96911]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be() [0xb95851]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be(ErrMsg_Report+0x44) [0xb97c60]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be(ErrMsgLine+0xaf) [0xb97b5b]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be() [0xb96d20]
/lib64/libc.so.6() [0x3f09632900]
/lib64/libc.so.6(gsignal+0x35) [0x3f09632885]
/lib64/libc.so.6(abort+0x175) [0x3f09634065]
/lib64/libc.so.6() [0x3f0966f7a7]
/lib64/libc.so.6() [0x3f096750c6]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be(_ZN23RELATED_SEGMENTED_ARRAYI7BE_PREGLj128EED1Ev+0x56) [0xf4d550]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be() [0xf4d6f8]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be() [0x7073b3]
/lib64/libc.so.6(exit+0xe2) [0x3f09635d92]
[0x3f09021718]
[0x3d850fc085002111]
pathf90 ERROR: execute '/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be' failed: Died due to unknown signal
make[5]: *** [m_bspline.o] Error 1
make[5]: Leaving directory `/home/vbox/Downloads/abinit-6.12.3/src/28_numeric_noabirule'
make[4]: *** [all-recursive] Error 1

Some additional error message:
*** glibc detected *** /home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be: free(): invalid pointer: 0x0000000003c3fec0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3f096750c6]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be(_ZN23RELATED_SEGMENTED_ARRAYI7BE_PREGLj128EED1Ev+0x56)[0xf4d550]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be[0xf4d6f8]
/home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be[0x7073b3]
======= Memory map: ========
00400000-01857000 r-xp 00000000 08:01 543455 /home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be
01a57000-01a8a000 rw-p 01457000 08:01 543455 /home/vbox/Program/PathScale/lib/4.0.12.1/x8664/be
01a8a000-02b3f000 rw-p 00000000 00:00 0
0331e000-03e1f000 rw-p 00000000 00:00 0 [heap]
3f08e00000-3f08e20000 r-xp 00000000 08:01 942813 /lib64/ld-2.12.so
3f0901f000-3f09020000 r--p 0001f000 08:01 942813 /lib64/ld-2.12.so
3f09020000-3f09021000 rw-p 00020000 08:01 942813 /lib64/ld-2.12.so
3f09021000-3f09022000 rw-p 00000000 00:00 0
3f09200000-3f09283000 r-xp 00000000 08:01 942827 /lib64/libm-2.12.so
3f09283000-3f09482000 ---p 00083000 08:01 942827 /lib64/libm-2.12.so
3f09482000-3f09483000 r--p 00082000 08:01 942827 /lib64/libm-2.12.so
3f09483000-3f09484000 rw-p 00083000 08:01 942827 /lib64/libm-2.12.so
3f09600000-3f09797000 r-xp 00000000 08:01 942814 /lib64/libc-2.12.so
3f09797000-3f09997000 ---p 00197000 08:01 942814 /lib64/libc-2.12.so
3f09997000-3f0999b000 r--p 00197000 08:01 942814 /lib64/libc-2.12.so
3f0999b000-3f0999c000 rw-p 0019b000 08:01 942814 /lib64/libc-2.12.so
3f0999c000-3f099a1000 rw-p 00000000 00:00 0
3f09a00000-3f09a17000 r-xp 00000000 08:01 942815 /lib64/libpthread-2.12.so
3f09a17000-3f09c16000 ---p 00017000 08:01 942815 /lib64/libpthread-2.12.so
3f09c16000-3f09c17000 r--p 00016000 08:01 942815 /lib64/libpthread-2.12.so
3f09c17000-3f09c18000 rw-p 00017000 08:01 942815 /lib64/libpthread-2.12.so
3f09c18000-3f09c1c000 rw-p 00000000 00:00 0
3f09e00000-3f09e02000 r-xp 00000000 08:01 942820 /lib64/libdl-2.12.so
3f09e02000-3f0a002000 ---p 00002000 08:01 942820 /lib64/libdl-2.12.so
3f0a002000-3f0a003000 r--p 00002000 08:01 942820 /lib64/libdl-2.12.so
3f0a003000-3f0a004000 rw-p 00003000 08:01 942820 /lib64/libdl-2.12.so
3f14e00000-3f14e16000 r-xp 00000000 08:01 942850 /lib64/libgcc_s-4.4.6-20110824.so.1
3f14e16000-3f15015000 ---p 00016000 08:01 942850 /lib64/libgcc_s-4.4.6-20110824.so.1
3f15015000-3f15016000 rw-p 00015000 08:01 942850 /lib64/libgcc_s-4.4.6-20110824.so.1
2af84db17000-2af84db18000 rw-p 00000000 00:00 0
2af84db2f000-2af84db32000 rw-p 00000000 00:00 0
2af84db32000-2af84db5d000 r-xp 00000000 08:01 543447 /home/vbox/Program/PathScale/lib/4.0.12.1/x8664/sandy.so
2af84db5d000-2af84dd5c000 ---p 0002b000 08:01 543447 /home/vbox/Program/PathScale/lib/4.0.12.1/x8664/sandy.so
2af84dd5c000-2af84dd5d000 rw-p 0002a000 08:01 543447 /home/vbox/Program/PathScale/lib/4.0.12.1/x8664/sandy.so
2af84dd5d000-2af84dd5e000 rw-p 00000000 00:00 0
2af84de2b000-2af84e330000 rw-p 00000000 00:00 0
7fff4eb61000-7fff4eb7f000 rw-p 00000000 00:00 0 [stack]
7fff4ebff000-7fff4ec00000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

Acctually, because of the information num_dim = 16 is too large in Create_DEPV_ARRAY, I tried to add -arign64 into FCFLAGS, but the same error occured......

Re: Compiling error in 12_hide_mpi by PathScale

Posted: Sun Apr 15, 2012 5:53 am
by vistawanted
I have checked some information about PathScale in the source file dpp.cxx and found:

Code: Select all

extern DEPV_ARRAY *
   Create_DEPV_ARRAY(mUINT8 num_vec, mUINT8 num_dim, mUINT8 num_unused_dim, MEM_POOL *pool)
 {
   // the size of the data is sizeof(DEPV) * num_vec*num_dim
   DEPV_ARRAY *result = (DEPV_ARRAY *) MEM_POOL_Alloc(pool,sizeof(DEPV_ARRAY) + (num_vec*num_dim-1)*sizeof(DEPV));
   FmtAssert(num_dim <= 15,  ("num_dim = %d is too large in Create_DEPV_ARRAY",num_dim));
   FmtAssert(num_unused_dim <= 15,   ("num_unused_dim = %d is too large in Create_DEPV_ARRAY",num_unused_dim));
   result->_num_vec = num_vec;
   result->_dim = (num_unused_dim << 4) | num_dim;
   return(result);
 }

It seems that PathScale does not support num_dim larger than 15 but the one given by Abinit is 16~ :shock: Does this mean that there is almost no method to solve this problem? :(

Re: Compiling error in 12_hide_mpi by PathScale

Posted: Sun Apr 15, 2012 11:43 am
by vistawanted
:D OK, I solved it, such a num_dim problem can be avoided by changing optizimation level~