Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29249 Discussions

Optimization of ABINIT 6.0.2 using Intel Compilers/MKL on a Linux/SGI Altix/Itanium platform

Martin_H
Beginner
832 Views
Dear Sir or Madam,

at the LRZ computing center Garching, Munich (www.lrz.de) we are currently trying to optimize the ABINIT software (www.abinit.org) version 6.0.2 on various platforms using Intel compilers and libraries for scientific use at the Technical University Munich and at Munich University of Applied Sciences.

We managed to get a working parallel built using the Intel Fortran compiler version 10.1. We are interested in further optimizations using Intel MKL libraries or different compiler options/flags. The current configuration is documented in an ABINIT forum thread at http://forum.abinit.org/viewtopic.php?f=3&t=221


We would appreciate any help on how to achieve a maximum optimized production version for following platforms:

i. Linux/SGI Altix/Itanium
ii. Linux/x86_64/Opteron
iii. Linux/ia64

We intend to use the first platform intensively, as the HLRBII-supercomputer consists of SGI Altix nodes. For further information please see
http://www.lrz-muenchen.de/services/compute/hlrb/hardware/index.html

If you need any additional information, please do not hesitate to contact me or Momme Allalen (Momme.Allalen@lrz.de).

Kind regards,
Martin Haeufel

TU Munich, WSI (T33)
www.wsi.tum.de
0 Kudos
1 Reply
Martyn_C_Intel
Employee
832 Views

Hello Martin,

For the SGI Altix, the most important compiler option would be O3. What sort of parallel build did you make? If you are able to make use of routines from MKL such as Fourier transforms, youll need to decide whether you want the threaded versions.

I believe some versions of ABINIT contained some very large routines. You might want to watch out for any compilation messages of the form available resources exceeded, internal threshold exceeded or optimization level reduced. If you see these in routines that are important for application performance, and your system has plenty of memory, you might consider compiling these with override-limits. See http://software.intel.com/en-us/articles/internal-threshold-was-exceeded/

Linux/ia64 is the same as Linux/SGI Altix/Itanium. Did you mean Intel 64?

If your Opteron supports SSE3, you will probably want to compile with O3 xO. For an Intel 64 system, you could either use the same, or replace xO by the x switch corresponding to your particular Intel processor family.

I should point out that 10.1 is not the most recent version of the Intel compiler. Since the compiler is gradually improved, you might want to try version 11.1, if there are no other constraints.

As Im sure you know, there are people at LRZ with a lot of experience in optimizing for the SGI Altix.

Martyn

0 Kudos
Reply