Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] configuration to mix -O2/-O3 for different routines

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] configuration to mix -O2/-O3 for different routines


Chronological Thread 
  • From: Masayoshi Mikami <mmikami@rc.m-kagaku.co.jp>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] configuration to mix -O2/-O3 for different routines
  • Date: Wed, 16 May 2007 20:45:25 +0900

Dear all,

After running tests_fast,v1-v5 with the binary compiled
with -O3 on Itanium2/ifort(8.1), I had runtime errors with
v1/t55, t56, t57, t58, t71, t72, t73 ; v4/t46, v5/t09. t10.
Numerically, v1/t97, v2/t26, v5/t21 were strange...

Well, I will have to spend some time to play with
~/.abinit/build/*.ac by tuning "fcflags_opt_*" line, such as
fcflags_opt_21drive="-O0"
(This is it, Yann ?)

BTW, from Gilles,
> Thanks for the lesson you taught us....
> One more, if you have some time: do you know exactly the routine (s) whose time increase (nonlop is made of many subroutines like opernl etc..) when you change the optimization option?

Well, I would like to find them when I have time.
(it will take more time ... first, I would like to eliminate
runtime errors/numerical errors. Then I will see the optimization effect
as you suggested, Gilles.)

Everyone here, if you have similar experience as described
in these e-mails and already find some clues, could you kindly
share your experience with us ?
("I'll be back," <- pronounce like "Terminator" ;-)
when I have something to be shared about this issue)

Regards,
Masayoshi

On 2007/05/16, at 14:14, Masayoshi Mikami wrote:

Dear all,

The story is still going on ...

On 2007/05/14, at 15:44, Masayoshi Mikami wrote:
My preoccupation came from the experience with v.4.6.x,
where I used attached makefile_macros with "-O2" ...
(snip)
Thus, I would like to suggest "-O3 -tpp2" as default in configuration
for Itanium2/ifort... Yann, how do you think ?

Then, I remember I had to check by running "make tests_dev".
When I run the tests_dev with v.5.3.4, I am having some runtime errors,
e.g. v1/t55 ... on display, I found the following error message:

File abfiles.run created, starting abinit
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
abinis 4000000000A8F241 Unknown Unknown Unknown
abinis 40000000005BE9B0 Unknown Unknown Unknown

In passing, from t55_STATUS
Status file, with repetition rate 49, status number 638
Level abinit : call driver
Level driver : call gstate
Level gstate : call scfcv
Level scfcv : call vtorho
istep = 8
Level vtorho : call vtowfk
isppol = 1
ikpt = 1
Level vtowfk : before loop
Level cgwf : loop iband
iline = 901

I did not have such errors with the binary compiled with "-O2".
Thus, I will need to reduce optimization level as -O2 for
some subroutines in ~ABINIT/src. Thus let me ask something :

In v.4.x.x, we had the following trick in makefile_macros:
FFLAGS=-FR -O3 -w -tpp2 # default
FFLAGS_Src_2psp =-FR -O2 -w -tpp2 # -O3 => -O2
FFLAGS_Src_6response =-FR -O2 -w -tpp2 # -O3 => -O2
FFLAGS_LIBS= -O3 -w -tpp2
to have different optimization levels for the different source directories.

In v.5.3.x, how to set the FCFLAGS for the directories individually
when I run "./configure" ?

We might want to tune the optimization levels
for each of the directories in "src": namely,
00basis, 01manage_mpi, 11contract, 11util, 12ffts,
12geometry, 12nlstrain, 12parser,12poisson, 12spacepar
13io_mpi, 13ionetcdf, 13iovars, 13nonlocal, 13paw, 13psp
13recipspace, 13xc, 13xml, 14bader, 14iowfdenpot,
14occeig,14wfs, 14wvl_wfs, 15common, 15gw, 15rsprc
16geomoptim.16response, 17ddb, 17lwf, 17suscep.
18seqpar, 19cut3d, 21drive, 21paral_md, defs,
lib01cg, lib01fftnew. ib01hidempi, main

Regards,
Masayoshi






Archive powered by MHonArc 2.6.16.

Top of Page