Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] still problems with compilation on ibm power

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] still problems with compilation on ibm power


Chronological Thread 
  • From: "Matteo Giantomassi" <Matteo.Giantomassi@uclouvain.be>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] still problems with compilation on ibm power
  • Date: Tue, 30 Jun 2009 18:00:22 +0200
  • Importance: Normal

> After searching through the archive of the mailing list I found a similar
> error. The suggestion was to reduce optimisation, but after reducing it to
> "-O0" I still get the very same error.
>
> Don't be shy to share your thoughts with me! :)
>
> I was thinking: The directory, where the error occurs, is 68_gw. I guess
> this has to do with the DFT method GW. If I do not use this, can I simply
> omit 68_gw during compilation?

Dear Christian,

It's not so straightforward as some routines in 95_drive
(screening and sigma) and 93_rdm as well 98_main/mrgscr.F90
depend on 68_gw. One should hack a bit
the code such that all these procedures are not used. A much easier
workaroud would be:

1) Enclose the executable part of hdr_vs_dtset.F90 between the CPP if
statement:

#if 0
!executable section
#endif

In this way, the body of the routine is not compiled, and XLF should not
go off.

2) Comment all calls to hdr_vs_dtset in the GW code.
They are just used for consistency check.
and are not necessary if you are not planning to run GW calculations.
Only four files have to changed.

grep hdr_vs_dtset */*.F90 | grep call gives:

68_gw/setup_screening.F90: call hdr_vs_dtset(Hdr_kss,Dtset)
68_gw/setup_sigma.F90: call hdr_vs_dtset(Hdr_kss,Dtset)
68_gw/setup_sigma.F90: ! call hdr_vs_dtset(Er%Hscr%Hdr,Dtset)
93_rdm/rdm.F90: call hdr_vs_dtset(Hdr_kss,Dtset)

3) rerun make to see if XLF still complains about 68_gw.

PS: Which version of XLF are you using? Could you provide the
preprocessed version of hdr_vs_dtset (hdr_vs_dtset_cpp.F90)

PPS: Simple hack to avoid having to recompile the entire
source tree just to change the optimization of one routine.
Kill the compilation when you reach hdr_vs_dtset, cut&paste
the command line produced by make, change -O2 with -O0.
Then use the new command line to produce the object file with reduced
optimization.

A more elegant solution consists in using per-directory optimization,
I recently saw a post from Yann in which he was explaining how
to specify the optimization flags per each directory.

Best Regards
Matteo Giantomassi





Archive powered by MHonArc 2.6.16.

Top of Page