[SIESTA-L] Compile problem : redeclared MPI data types

2009-07-01 Thread Scott Beckman
Hello,

I¹m trying to compile Siesta 2.0.1 for parallel processing using MPI.   My
system is an AMD Opteron cluster with InfiniPath interconnects.  The
compiler is the PathScale compiler and I¹m using the ACML 3.0.0 libraries.
The BLACS and scalapack libraries are installed and tested.

When I try to compile Siesta I¹m given errors about redeclared attributes.
(See below)  I have also attached my arch.make file.

This problem is identical to that posted June2007 by Eb Na (
http://www.mail-archive.com/siesta-l@listserv.uam.es/msg00844.html).
Unfortunately there was never a response or follow-up to post the solution.

I¹ve tried making changes to the mpi.F and other source files in an attempt
to understand the origin of this problem, but have been unsuccessful.  Any
help or suggestions would be very welcome.

Thank you for your time with this problem.
Sincerely,


Scott Beckman 

Assistant Professor
Department of Material Science and Engineering
Iowa State University
sbeck...@iastate.edu

+
+
OUTPUT FROM COMPILE
+
+

hpc4~/Software/SIESTA/siesta-2.0.1/Src>
hpc4~/Software/SIESTA/siesta-2.0.1/Src> make

Compilation architecture to be used: pathf90-2.0-mpi
If this is not what you want, create the right
arch.make file using the models in Sys

Hit ^C to abort...

==> Incorporating information about present compilation (compiler and flags)
make[1]: Entering directory
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'
f90 -c -DMPI -I/usr/include -L/usr/lib  compinfo.F90
make[1]: Leaving directory `/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'
#...@rm -f compinfo.F90

make[1]: Entering directory
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src/MPI'
f90 -c  -I/usr/include   -DMPI -I/usr/include -L/usr/lib  mpi.F

  MODULE MPI_SIESTA
 ^ 
pathf95-855 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 1, Column = 14
  The compiler has detected errors in module "MPI_SIESTA".  No module
information file will be created for this module.

 & DAT_single => MPI_real,  &
  ^
pathf95-197 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 36, Column = 7
  Unexpected syntax: "ONLY or use-name" was expected but found " ".

integer, parameter :: MPI_real  = DAT_single
  ^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 31
  "MPI_REAL" has been use associated, therefore it must not be redeclared
with the INTEGER(KIND=4) attribute.
  ^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 55
  "DAT_SINGLE" is used in a constant expression, therefore it must be a
constant.

integer, parameter :: MPI_2real = DAT_2single
  ^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 72, Column = 31
  "MPI_2REAL" has been use associated, therefore it must not be redeclared
with the INTEGER(KIND=4) attribute.
  ^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 72, Column = 55
  "DAT_2SINGLE" is used in a constant expression, therefore it must be a
constant.

integer, parameter :: MPI_double_precision  = DAT_double
  ^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 73, Column = 31
  "MPI_DOUBLE_PRECISION" has been use associated, therefore it must not be
redeclared with the INTEGER(KIND=4) attribute.
  ^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 73, Column = 55
  "DAT_DOUBLE" is used in a constant expression, therefore it must be a
constant.

integer, parameter :: MPI_2double_precision = DAT_2double
  ^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 74, Column = 31
  "MPI_2DOUBLE_PRECISION" has been use associated, therefore it must not be
redeclared with the INTEGER(KIND=4) attribute.
  ^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 74, Column = 55
  "DAT_2DOUBLE" is used in a constant expression, therefore it must be a
constant.

integer, parameter :: MPI_complex   = DAT_complex
  ^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 75, Column = 31
  "MPI_COMPLEX" has been use associated, therefore it must not be redeclared
with the INTEGER(KIND=4) attribute.
  ^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 75, Column = 55
  "DAT_COMPLEX" is used in a constant expression, therefore it must be a
constant.

integer, parameter :: MPI_double_complex= DAT_dcomplex
  ^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 76, Column = 31
  "MPI_DOUBLE_COMPLEX" 

Re: [SIESTA-L] Compile problem : redeclared MPI data types

2009-07-01 Thread Scott Beckman

There is some problem with how PathScale handles the modules in
Src/MPI/mpi.F

If I replace:


  USE MPI__INCLUDE ,
#ifdef OLD_CRAY
 & DAT_single => MPI_real,  &
 & DAT_2single => MPI_2real,&
 & DAT_double => MPI_real,  &
 & DAT_2double => MPI_2real,&
 & DAT_complex => MPI_complex,  &
 & DAT_dcomplex => MPI_complex  &
#else
 & DAT_single => MPI_real,  &
 & DAT_2single => MPI_2real,&
 & DAT_double => MPI_double_precision,  &
 & DAT_2double => MPI_2double_precision,&
 & DAT_complex => MPI_complex,  &
 & DAT_dcomplex => MPI_double_complex   &
#endif


With:


  USE MPI__INCLUDE, ONLY : DAT_single => MPI_real,
 & DAT_2single => MPI_2real,
 & DAT_double => MPI_double_precision,
 & DAT_2double => MPI_2double_precision,
 & DAT_complex => MPI_complex,
 & DAT_dcomplex => MPI_double_complex

USE MPI__INCLUDE


The modules and objects all compile correctly.  Of course then the linking
doesn¹t work correctly due to: ³Unexpected references of formal parameter²

I¹m not at all familiar with the PathScale compiler (this is my first use of
it) There must be some reason that the line-wrap used above does not work,
but my F77 style does... However, I¹m confused by this because lower in
mpi.F the &   & does appear to work as a line-wrap.

Is there a flag that I¹m missing?

On 7/1/09 9:14 AM, "Scott Beckman"  wrote:

> Hello,
> 
> I¹m trying to compile Siesta 2.0.1 for parallel processing using MPI.   My
> system is an AMD Opteron cluster with InfiniPath interconnects.  The compiler
> is the PathScale compiler and I¹m using the ACML 3.0.0 libraries.  The BLACS
> and scalapack libraries are installed and tested.
> 
> When I try to compile Siesta I¹m given errors about redeclared attributes.
> (See below)  I have also attached my arch.make file.
> 
> This problem is identical to that posted June2007 by Eb Na (
> http://www.mail-archive.com/siesta-l@listserv.uam.es/msg00844.html).
> Unfortunately there was never a response or follow-up to post the solution.
> 
> I¹ve tried making changes to the mpi.F and other source files in an attempt to
> understand the origin of this problem, but have been unsuccessful.  Any help
> or suggestions would be very welcome.
> 
> Thank you for your time with this problem.
> Sincerely,
> 
> 
> Scott Beckman 
> 
> Assistant Professor
> Department of Material Science and Engineering
> Iowa State University
> sbeck...@iastate.edu
> 
> +
> +
> OUTPUT FROM COMPILE
> +
> +
> 
> hpc4~/Software/SIESTA/siesta-2.0.1/Src>
> hpc4~/Software/SIESTA/siesta-2.0.1/Src> make
> 
> Compilation architecture to be used: pathf90-2.0-mpi
> If this is not what you want, create the right
> arch.make file using the models in Sys
> 
> Hit ^C to abort...
> 
> ==> Incorporating information about present compilation (compiler and flags)
> make[1]: Entering directory `/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'
> f90 -c -DMPI -I/usr/include -L/usr/lib  compinfo.F90
> make[1]: Leaving directory `/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'
> #...@rm -f compinfo.F90
> 
> make[1]: Entering directory
> `/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src/MPI'
> f90 -c  -I/usr/include   -DMPI -I/usr/include -L/usr/lib  mpi.F
> 
>   MODULE MPI_SIESTA
>  ^   
> pathf95-855 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 1, Column = 14
>   The compiler has detected errors in module "MPI_SIESTA".  No module
> information file will be created for this module.
> 
>  & DAT_single => MPI_real,  &
>   ^  
> pathf95-197 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 36, Column = 7
>   Unexpected syntax: "ONLY or use-name" was expected but found " ".
> 
> integer, parameter :: MPI_real  = DAT_single
>   ^
> pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 31
>   "MPI_REAL" has been use associated, therefore it must not be redeclared with
> the INTEGER(KIND=4) attribute.
>   ^
> pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 55
>   "DAT_SINGLE" is used in a constant expression, therefore it must be a
> constant.
> 
> integer, parameter :: MPI_2real = DAT_2single
>   ^
> pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 72, Column = 31
>   "MPI_2REAL" has been u

Re: [SIESTA-L] Compile problem : redeclared MPI data types

2009-07-02 Thread Javier Junquera

Dear Scott:

Edit the mpi.F file in the Src/MPI subdirectory,
and include the "USE MPI_INCLUDE, "
inside the two blocks of the preprocessor.
The final lines should look like:

#ifdef OLD_CRAY
USE MPI__INCLUDE ,
& DAT_single => MPI_real, &
& DAT_2single => MPI_2real, &
& DAT_double => MPI_real, &
& DAT_2double => MPI_2real, &
& DAT_complex => MPI_complex, &
& DAT_dcomplex => MPI_complex &
#else
USE MPI__INCLUDE ,
& DAT_single => MPI_real, &
& DAT_2single => MPI_2real, &
& DAT_double => MPI_double_precision, &
& DAT_2double => MPI_2double_precision, &
& DAT_complex => MPI_complex, &
& DAT_dcomplex => MPI_double_complex &
#endif

It works for me, and I am using essentially the same architecture,
compiler, and libraries as you.

Hope this helps,

Javier



Beckman escribió:

Hello,

I’m trying to compile Siesta 2.0.1 for parallel processing using MPI. 
My system is an AMD Opteron cluster with InfiniPath interconnects. The 
compiler is the PathScale compiler and I’m using the ACML 3.0.0 
libraries. The BLACS and scalapack libraries are installed and tested.


When I try to compile Siesta I’m given errors about redeclared 
attributes. (See below) I have also attached my arch.make file.


This problem is identical to that posted June2007 by Eb Na ( 
http://www.mail-archive.com/siesta-l@listserv.uam.es/msg00844.html). 
Unfortunately there was never a response or follow-up to post the 
solution.


I’ve tried making changes to the mpi.F and other source files in an 
attempt to understand the origin of this problem, but have been 
unsuccessful. Any help or suggestions would be very welcome.


Thank you for your time with this problem.
Sincerely,


Scott Beckman

Assistant Professor
Department of Material Science and Engineering
Iowa State University
sbeck...@iastate.edu

+
+
OUTPUT FROM COMPILE
+
+

hpc4~/Software/SIESTA/siesta-2.0.1/Src>
hpc4~/Software/SIESTA/siesta-2.0.1/Src> make

Compilation architecture to be used: pathf90-2.0-mpi
If this is not what you want, create the right
arch.make file using the models in Sys

Hit ^C to abort...

==> Incorporating information about present compilation (compiler and 
flags)
make[1]: Entering directory 
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'

f90 -c -DMPI -I/usr/include -L/usr/lib compinfo.F90
make[1]: Leaving directory 
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'

#...@rm -f compinfo.F90

make[1]: Entering directory 
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src/MPI'

f90 -c -I/usr/include -DMPI -I/usr/include -L/usr/lib mpi.F

MODULE MPI_SIESTA
^
pathf95-855 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 1, Column = 14
The compiler has detected errors in module "MPI_SIESTA". No module 
information file will be created for this module.


& DAT_single => MPI_real, &
^
pathf95-197 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 36, Column = 7
Unexpected syntax: "ONLY or use-name" was expected but found " ".

integer, parameter :: MPI_real = DAT_single
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 31
"MPI_REAL" has been use associated, therefore it must not be 
redeclared with the INTEGER(KIND=4) attribute.

^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 55
"DAT_SINGLE" is used in a constant expression, therefore it must be a 
constant.


integer, parameter :: MPI_2real = DAT_2single
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 72, Column = 31
"MPI_2REAL" has been use associated, therefore it must not be 
redeclared with the INTEGER(KIND=4) attribute.

^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 72, Column = 55
"DAT_2SINGLE" is used in a constant expression, therefore it must be a 
constant.


integer, parameter :: MPI_double_precision = DAT_double
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 73, Column = 31
"MPI_DOUBLE_PRECISION" has been use associated, therefore it must not 
be redeclared with the INTEGER(KIND=4) attribute.

^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 73, Column = 55
"DAT_DOUBLE" is used in a constant expression, therefore it must be a 
constant.


integer, parameter :: MPI_2double_precision = DAT_2double
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 74, Column = 31
"MPI_2DOUBLE_PRECISION" has been use associated, therefore it must not 
be redeclared with the INTEGER(KIND=4) attribute.

^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 74, Column = 55
"DAT_2DOUBLE" is used in a constant expression, therefore it must be a 
constant.


integer, parameter :: MPI_complex = DAT_complex
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 75, Column = 31
"MPI_COMPLEX" has been use associated, therefore it must not be 
redeclared with the INTEGER(KIND=4) attribute.

^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 75, Column = 55
"DAT_COMPLEX" is used in a constant expression, therefore it must be a 
const

Re: [SIESTA-L] Compile problem : redeclared MPI data types

2009-07-02 Thread Beckman, Scott P [M S E]
Hello Javier,

Thanks for your suggestion.  Yes, this does solve the compile problem.  But 
when the build process gets to the final step, the linker still complains about 
unexpected references (see below).  This problem must not be limited to the 
mpi.F module but could be anywhere.  Is there a flag to make the linker more 
verbose?  I don't know where to even begin looking for the cause of this 
problem.  

Would you be willing to post your arch.make file so I could compare?  I've made 
a few changes to mine (see below)  I don't see any obvious mistakes, but that 
doesn't mean that there aren't any.  

Thanks for your help.
Best,
Scott


+
+
OUTPUT FROM COMPILE
+
+

### Compiler Error during Inline processing phase:
### Unexpected references of formal parameter
IPA processing aborted
f90 INTERNAL ERROR: /opt/pathscale/lib/2.4/ipa_link returned non-zero status 1

+
+
MY arch.make FILE
+
+

#
SIESTA_ARCH=pathf90-2.0-mpi
#
FC=f90
FC_ASIS=$(FC)
#
FFLAGS= -m64 -ipa -Ofast -Wl,-R/opt/pathscale/lib/2.4/
FFLAGS_DEBUG= -g
LDFLAGS= -m64 -ipa -Ofast
#
RANLIB=ranlib
COMP_LIBS=
#
NETCDF_LIBS= #  /usr/local/netcdf-3.5/lib/pgi/libnetcdf.a
NETCDF_INTERFACE=#  libnetcdf_f90.a
DEFS_CDF=#  -DCDF
#
KINDS=4 8

MPI_INTERFACE=libmpi_f90.a

MPI_INCLUDE=/usr/include
MPI_LIBS=/usr/lib
DEFS_MPI=-DMPI
#
#LIBS=/work/TG3/LIBS/scalapack-1.8.0/libscalapack.a 
/work/TG3/LIBS/BLACS/LIB/blacsF77init_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacs_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacsCinit_MPI-LINUX-0.a 
/opt/acml3.0.0/pathscale64/lib/libacml.a 
LIBS=/work/TG3/LIBS/scalapack-1.8.0/libscalapack.a 
/work/TG3/LIBS/BLACS/LIB/blacsF77init_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacs_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacsCinit_MPI-LINUX-0.a

SYS=nag
DEFS= $(DEFS_CDF) $(DEFS_MPI) # -DGRID_DP
#
.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)  $(DEFS) $<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)   $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)  $(DEFS) $<
.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)   $<




-Original Message-
From: Siesta, Self-Consistent DFT LCAO program, http://www.uam.es/siesta on 
behalf of Javier Junquera
Sent: Thu 7/2/2009 3:55 AM
To: SIESTA-L@listserv.uam.es
Subject: Re: [SIESTA-L] Compile problem : redeclared MPI data types
 
Dear Scott:

Edit the mpi.F file in the Src/MPI subdirectory,
and include the "USE MPI_INCLUDE, "
inside the two blocks of the preprocessor.
The final lines should look like:

#ifdef OLD_CRAY
USE MPI__INCLUDE ,
& DAT_single => MPI_real, &
& DAT_2single => MPI_2real, &
& DAT_double => MPI_real, &
& DAT_2double => MPI_2real, &
& DAT_complex => MPI_complex, &
& DAT_dcomplex => MPI_complex &
#else
USE MPI__INCLUDE ,
& DAT_single => MPI_real, &
& DAT_2single => MPI_2real, &
& DAT_double => MPI_double_precision, &
& DAT_2double => MPI_2double_precision, &
& DAT_complex => MPI_complex, &
& DAT_dcomplex => MPI_double_complex &
#endif

It works for me, and I am using essentially the same architecture,
compiler, and libraries as you.

Hope this helps,

Javier



Beckman escribió:
> Hello,
>
> I'm trying to compile Siesta 2.0.1 for parallel processing using MPI. 
> My system is an AMD Opteron cluster with InfiniPath interconnects. The 
> compiler is the PathScale compiler and I'm using the ACML 3.0.0 
> libraries. The BLACS and scalapack libraries are installed and tested.
>
> When I try to compile Siesta I'm given errors about redeclared 
> attributes. (See below) I have also attached my arch.make file.
>
> This problem is identical to that posted June2007 by Eb Na ( 
> http://www.mail-archive.com/siesta-l@listserv.uam.es/msg00844.html). 
> Unfortunately there was never a response or follow-up to post the 
> solution.
>
> I've tried making changes to the mpi.F and other source files in an 
> attempt to understand the origin of this problem, but have been 
> unsuccessful. Any help or suggestions would be very welcome.
>
> Thank you for your time with this problem.
> Sincerely,
>
>
> Scott Beckman
>
> Assistant Professor
> Department of Material Science and Engineering
> Iowa State University
> sbeck...@iastate.edu
>
> +
> +
> OUTPUT FROM COMPILE
> +
> +
>
> hpc4~/Software/SIESTA/siesta-2.0.1/Src>
> hpc4~/Software/SIESTA/siesta-2.0.1/Src> make
>
> Compilation architecture to be used: pathf90-2.0-mpi
> If 

Re: [SIESTA-L] Compile problem : redeclared MPI data types

2009-07-03 Thread Junquera Quintana, Francisco Javier


Dear Scott:

Please, find enclosed the arch.make you were interested in.
I am including both, for the parallel and the serial version.

Hope this helps,

Javier




-Mensaje original-
De: Siesta, Self-Consistent DFT LCAO program, http://www.uam.es/siesta en 
nombre de Beckman, Scott P [M S E]
Enviado el: jue 02/07/2009 22:09
Para: SIESTA-L@listserv.uam.es
Asunto: Re: [SIESTA-L] Compile problem : redeclared MPI data types
 
Hello Javier,

Thanks for your suggestion.  Yes, this does solve the compile problem.  But 
when the build process gets to the final step, the linker still complains about 
unexpected references (see below).  This problem must not be limited to the 
mpi.F module but could be anywhere.  Is there a flag to make the linker more 
verbose?  I don't know where to even begin looking for the cause of this 
problem.  

Would you be willing to post your arch.make file so I could compare?  I've made 
a few changes to mine (see below)  I don't see any obvious mistakes, but that 
doesn't mean that there aren't any.  

Thanks for your help.
Best,
Scott


+
+
OUTPUT FROM COMPILE
+
+

### Compiler Error during Inline processing phase:
### Unexpected references of formal parameter
IPA processing aborted
f90 INTERNAL ERROR: /opt/pathscale/lib/2.4/ipa_link returned non-zero status 1

+
+
MY arch.make FILE
+
+

#
SIESTA_ARCH=pathf90-2.0-mpi
#
FC=f90
FC_ASIS=$(FC)
#
FFLAGS= -m64 -ipa -Ofast -Wl,-R/opt/pathscale/lib/2.4/
FFLAGS_DEBUG= -g
LDFLAGS= -m64 -ipa -Ofast
#
RANLIB=ranlib
COMP_LIBS=
#
NETCDF_LIBS= #  /usr/local/netcdf-3.5/lib/pgi/libnetcdf.a
NETCDF_INTERFACE=#  libnetcdf_f90.a
DEFS_CDF=#  -DCDF
#
KINDS=4 8

MPI_INTERFACE=libmpi_f90.a

MPI_INCLUDE=/usr/include
MPI_LIBS=/usr/lib
DEFS_MPI=-DMPI
#
#LIBS=/work/TG3/LIBS/scalapack-1.8.0/libscalapack.a 
/work/TG3/LIBS/BLACS/LIB/blacsF77init_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacs_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacsCinit_MPI-LINUX-0.a 
/opt/acml3.0.0/pathscale64/lib/libacml.a 
LIBS=/work/TG3/LIBS/scalapack-1.8.0/libscalapack.a 
/work/TG3/LIBS/BLACS/LIB/blacsF77init_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacs_MPI-LINUX-0.a 
/work/TG3/LIBS/BLACS/LIB/blacsCinit_MPI-LINUX-0.a

SYS=nag
DEFS= $(DEFS_CDF) $(DEFS_MPI) # -DGRID_DP
#
.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)  $(DEFS) $<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)   $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)  $(DEFS) $<

.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS)   $<




-Original Message-
From: Siesta, Self-Consistent DFT LCAO program, http://www.uam.es/siesta on 
behalf of Javier Junquera
Sent: Thu 7/2/2009 3:55 AM
To: SIESTA-L@listserv.uam.es
Subject: Re: [SIESTA-L] Compile problem : redeclared MPI data types
 
Dear Scott:

Edit the mpi.F file in the Src/MPI subdirectory,
and include the "USE MPI_INCLUDE, "
inside the two blocks of the preprocessor.
The final lines should look like:

#ifdef OLD_CRAY
USE MPI__INCLUDE ,
& DAT_single => MPI_real, &
& DAT_2single => MPI_2real, &
& DAT_double => MPI_real, &
& DAT_2double => MPI_2real, &
& DAT_complex => MPI_complex, &
& DAT_dcomplex => MPI_complex &
#else
USE MPI__INCLUDE ,
& DAT_single => MPI_real, &
& DAT_2single => MPI_2real, &
& DAT_double => MPI_double_precision, &
& DAT_2double => MPI_2double_precision, &
& DAT_complex => MPI_complex, &
& DAT_dcomplex => MPI_double_complex &
#endif

It works for me, and I am using essentially the same architecture,
compiler, and libraries as you.

Hope this helps,

Javier



Beckman escribió:
> Hello,
>
> I'm trying to compile Siesta 2.0.1 for parallel processing using MPI. 
> My system is an AMD Opteron cluster with InfiniPath interconnects. The 
> compiler is the PathScale compiler and I'm using the ACML 3.0.0 
> libraries. The BLACS and scalapack libraries are installed and tested.
>
> When I try to compile Siesta I'm given errors about redeclared 
> attributes. (See below) I have also attached my arch.make file.
>
> This problem is identical to that posted June2007 by Eb Na ( 
> http://www.mail-archive.com/siesta-l@listserv.uam.es/msg00844.html). 
> Unfortunately there was never a response or follow-up to post the 
> solution.
>
> I've tried making changes to the mpi.F and other source files in an 
> attempt to understand the origin of this problem, but have been 
> unsuccessful. Any help or suggestions would be very welcome.
>
> Thank you for your time with this problem.
> Sincerely,
>
>
> Scott Beckman
>
> Assistant Professor
> Departme

Re: [SIESTA-L] Compile problem : redeclared MPI data types

2009-07-03 Thread Scott Beckman
Hi,

Thank you Javier.  The error regarding the "Unexpected references of formal
parameter" was solved by passing the DEF -DGRID_DP.

Now I have a compiled version of siesta, but I've not yet tested it.  (Cross
your fingers!)  

I have several questions about the flags that are being passed, but I don't
see an explanation in the internal documentation.  For instance, the lines:

KINDS=4 8
DEFS= -DWXML_INIT_FIX -DGRID_DP
SYS=cpu_time
FC=f90 -ff2c-abi /opt/pathscale/etc/f2c-abi/acml-2.0

Is there a difference in accuracy if I modify the KINDS?  Do I need both 4
and 8?  Is this related to the -DGRID_DP pre-compile flag?  What are the
options for SYS?  I've seen "bsd", "nag", and "cpu_time."  Which SYS is
needed on my machine and which will give optimal performance?  Do I really
need to pass a flag to use f2c conversion?

Is there a document where I can read about the flags that are available and
what they control? 

Once I've optimized my arch.make, I'll post is here.

Best,

Scott Beckman 

Assistant Professor
Department of Material Science and Engineering
Iowa State University
sbeck...@iastate.edu



On 7/3/09 8:09 AM, "Junquera Quintana, Francisco Javier"
 wrote:

> 
> 
> Dear Scott:
> 
> Please, find enclosed the arch.make you were interested in.
> I am including both, for the parallel and the serial version.
> 
> Hope this helps,
> 
> Javier
> 
> 
> 
> 
> -Mensaje original-
> De: Siesta, Self-Consistent DFT LCAO program, http://www.uam.es/siesta en
> nombre de Beckman, Scott P [M S E]
> Enviado el: jue 02/07/2009 22:09
> Para: SIESTA-L@listserv.uam.es
> Asunto: Re: [SIESTA-L] Compile problem : redeclared MPI data types
>  
> Hello Javier,
> 
> Thanks for your suggestion.  Yes, this does solve the compile problem.  But
> when the build process gets to the final step, the linker still complains
> about unexpected references (see below).  This problem must not be limited to
> the mpi.F module but could be anywhere.  Is there a flag to make the linker
> more verbose?  I don't know where to even begin looking for the cause of this
> problem.  
> 
> Would you be willing to post your arch.make file so I could compare?  I've
> made a few changes to mine (see below)  I don't see any obvious mistakes, but
> that doesn't mean that there aren't any.
> 
> Thanks for your help.
> Best,
> Scott
> 
> 
> +
> +
> OUTPUT FROM COMPILE
> +
> +
> 
> ### Compiler Error during Inline processing phase:
> ### Unexpected references of formal parameter
> IPA processing aborted
> f90 INTERNAL ERROR: /opt/pathscale/lib/2.4/ipa_link returned non-zero status 1
> 
> +
> +
> MY arch.make FILE
> +
> +
> 
> #
> SIESTA_ARCH=pathf90-2.0-mpi
> #
> FC=f90
> FC_ASIS=$(FC)
> #
> FFLAGS= -m64 -ipa -Ofast -Wl,-R/opt/pathscale/lib/2.4/
> FFLAGS_DEBUG= -g
> LDFLAGS= -m64 -ipa -Ofast
> #
> RANLIB=ranlib
> COMP_LIBS=
> #
> NETCDF_LIBS= #  /usr/local/netcdf-3.5/lib/pgi/libnetcdf.a
> NETCDF_INTERFACE=#  libnetcdf_f90.a
> DEFS_CDF=#  -DCDF
> #
> KINDS=4 8
> 
> MPI_INTERFACE=libmpi_f90.a
> 
> MPI_INCLUDE=/usr/include
> MPI_LIBS=/usr/lib
> DEFS_MPI=-DMPI
> #
> #LIBS=/work/TG3/LIBS/scalapack-1.8.0/libscalapack.a
> /work/TG3/LIBS/BLACS/LIB/blacsF77init_MPI-LINUX-0.a
> /work/TG3/LIBS/BLACS/LIB/blacs_MPI-LINUX-0.a
> /work/TG3/LIBS/BLACS/LIB/blacsCinit_MPI-LINUX-0.a
> /opt/acml3.0.0/pathscale64/lib/libacml.a
> LIBS=/work/TG3/LIBS/scalapack-1.8.0/libscalapack.a
> /work/TG3/LIBS/BLACS/LIB/blacsF77init_MPI-LINUX-0.a
> /work/TG3/LIBS/BLACS/LIB/blacs_MPI-LINUX-0.a
> /work/TG3/LIBS/BLACS/LIB/blacsCinit_MPI-LINUX-0.a
> 
> SYS=nag
> DEFS= $(DEFS_CDF) $(DEFS_MPI) # -DGRID_DP
> #
> .F.o:
> $(FC) -c $(FFLAGS) $(INCFLAGS)  $(DEFS) $<
> .f.o:
>     $(FC) -c $(FFLAGS) $(INCFLAGS)   $<
> .F90.o:
> $(FC) -c $(FFLAGS) $(INCFLAGS)  $(DEFS) $<
> 
> .f90.o:
> $(FC) -c $(FFLAGS) $(INCFLAGS)   $<
> 
> 
> 
> 
> -Original Message-
> From: Siesta, Self-Consistent DFT LCAO program, http://www.uam.es/siesta on
> behalf of Javier Junquera
> Sent: Thu 7/2/2009 3:55 AM
> To: SIESTA-L@listserv.uam.es
> Subject: Re: [SIESTA-L] Compile problem : redeclared MPI data types
>  
> Dear Scott:
> 
> Edit the mpi.F file in the Src/MPI subdirectory,
> and include the "USE MPI_INCLUDE, "
> inside the two blocks of the preprocessor