[CPMD-list] LOOP WAS VECTORIZED

Axel Kohlmeyer akohlmey at cmm.chem.upenn.edu
Sun Mar 30 20:29:04 CEST 2008


On Sun, 30 Mar 2008, Nora Mohamed wrote:

NM> Dear Cpmd users,

dear nora,

first off, there is no need to send the same message twice.
if anything, it will only annoy people and only decreases 
your chances to get a (useful?) reply.

NM> I compiled cpmd twice once with each of the following configuration files. my
NM> machine is pentium D with fedora 7 and l_fc_p_10.1.011_intel64.
NM> 
NM> #INFO#
NM> #INFO# Configuration to build a serial cpmd executable for a linux machine
NM> #INFO# with an AMD64/EM64T cpu (Opteron/AthlonFX/Athlon64/Xeon-EM64T) using
NM> #INFO# the Intel Fortran Compiler with EM64T extensions.

please note, that you are using a configuration file that was written a 
long time ago (in terms of compiler versions). so whenever you switch to
a different compiler (version), you have to expect incompatibilities and
should read the compiler documentation to see what kind of adjustments
are needed and what flags have what effect.

[...]
NM> 
NM> In both cases, I get the following warnings: below is just a sample because the
NM> warning would take pages.
NM> ifort: command line remark #10148: option '-tp' not supported
NM> ./rhoofr_p.f(173): (col. 9) remark: LOOP WAS VECTORIZED.
NM> I get more than one instance from each of these warning
NM> 
NM> However, I get the executable, so Should I worry about these warning or just use
NM> the resulting executable. Also, I don't know how to change the configuration file

first off, those are "remarks", i.e. the mildest form of a warning and 
the main authoritative sourse for what they mean is the compiler's 
user's guide. as the output says, the -tp flag is no longer supported 
and has been replaced with gcc style -march/-mtune flags.

NM> to fit my platform, I would appreciate if anybody guided me to resources to help me
NM> do my own configuration.

there is no easy answer as to how to figure out the best way to compile
a code on any machine. what you have to do is to read the documentation
(of compiler and libraries) and make some experiments. i would first 
start with a compile that uses no optimization and compare to the output
of a second compilers to confirm that there are no miscompilation and 
then gradually adapt options until your are reaching the optimal 
compromise of correctness and performance. with a code like CPMD the
compiler itself is only one contribution to performance, FFT library
and specifically BLAS/LAPACK (in the form of either ACML,MKL,ATLAS,GOTO
or some combinations of them) have a large impact on performance.

you will notice that the highest optimization levels will be giving
you a slower executable and/or an executable with incorrect results
and may take excessively long to compile. i found that compiling with
moderate optimization and optimizing for a pentium-3 architecture 
gives the best speed without sacrificing accuracy. with intel 10 my
currently preferred flags are:

 -O2 -unroll -pc64 -march=pentium3 -mtune=core2


NM> Also, I compiled cpmd successfully on AMD 64 Athlon X2 using the same software,
NM> however when I did a test run and compared my output with the test output, there
NM> were differences in the results and even in orders of magnitude. Should I worry?

which test? and which numbers are off by orders of magnitude? 
if the optimal result would be zero, small errors can be multiple
errors of magnitude, however if your total energy is that far 
off, something really bad is happening.

small differences are possible depending on the version of the 
code and the libraries used. N.B. the libraries hosted in bochum
are essentially obsolete and the only reason they are still online
is my lazyness. fedora 7 ships a well optimized and reliable ATLAS 
that works quite well with CPMD and i'd recommend using that or AMD's
ACML (which works also on intel cpus) or Intels MKL (which works also 
on AMD cpus). 

cheers,
   axel.

NM> Thank You.
NM> 
NM> __________________________________________________________________________________________
NM> Like movies? Here's a limited-time offer: Blockbuster Total Access for one month at
NM> no cost.
NM> 

-- 
=======================================================================
Axel Kohlmeyer   akohlmey at cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.


More information about the CPMD-list mailing list