HPC - Compiling Gaussian03 with ifort/ifc (Intel Fortran Compiler)

The version used for this exercise is Gaussian 03 D2 release and the ICC and IFC 10.1 compilers. The code was compiled for x86-64 but has been also been tested in x86-32(i386) architectures, although not extensively.

Steps to enable compilation follow.

- Enter the "g03" directory.
- Copy this code and name it compile.sh:

#!/bin/bash
PATH=$PATH:`pwd`:`pwd`/bsd g03root=`pwd`/.. bsd/bldg03 all &> make.log

Then, use "chmod +x compile.sh".
You can have a look at what happens in make.log, as both stdout and stderr are redirected there.

Now we'll edit some files:
- bsd/bldg03:

#if (-e flc) then
#    source $g03root/g03/bsd/g03.login
#    $oncom $makename -f $locmake $makeflag linda
#endif

You must also patch the following files:
  • bsd/i386.make
  • bsd/mdutil.c
  • bsd/updatelink1
The diffs are available at http://gist.github.com/255188 and you can patch the files by doing:

patch -p1 bsd/i386.make < i386_make.diff
patch -p1 bsd/mdutil.c < mdutil_c.diff
patch -p1 bsd/updatelink1 < updatelink1.diff

EDIT: This may not work as these patches were not taken from a vanilla g03. Use them as a way to fix problems you may face but don't expect them to work out of the box. I will have a look at g09 and release better patches for it.

Then just type:

./compile.sh

If, at any time, you wish just to link the already compiled files that may have failed linkage, replace bsd/bldg03 all with bsd/bldg03 linkrest.

Changes made to the Makefile will put the default compilation, hence the omission when calling bldg03.

No comments:

Post a Comment