Tuesday, April 3, 2012

Installing Gamess on UBUNTU 64 bit (ZZ)

File is based on:
http://gamess-linux.blogspot.ca/2010/08/installing-gamess-on-ubuntu-6-bit.html

and small changes were made.

For installing Gamess, you need to install a few programs before; like fortran compiler, c-shell, math libraries and so on.
For 64 bit Linux (Ubuntu 10.04) do this:
In bash write (or copy and paste; for pasting in bash press ctrl + shift + v):

sudo apt-get install tcsh gfortran

this command will install c-shell and gfortran compiler.

You need to install math libraries too. I prefer to use Intel's MKL (Math Kernel Library). You can download free academic version of it from here (https://registrationcenter.intel.com/RegCenter/AutoGen.aspx?ProductID=1280&AccountID=&EmailID=&ProgramID=&RequestDt=&rm=NCOM&lang= ). You need a password to install it. While you are downloading the MKL, in the page you will see a password; save it.
Installing is easy and straight forward. It will guide you step by step.
To install it, in bash go to the place which you saved and unzipped the MKL. Then write:

./install.sh

and press Enter key; answer the questions. If your installation encounter any problem, it will give you enough information to solve it. Don't worry about them.

Finally, you are ready to install Gamess.
Download and save Gamess in your home directory. Unzip it. You will see some files and directories in it. In bash, go to Gamess directory. Then write:

./config

answer the questions about your machin and compiler. Your answer should be Linux64, gfortran, MKL, version of MKL and so on. The config script will guide you to answer the questions correctly.
Go to ddi directory and open compddi by using text editor like gedit. In top part of it you will see MAXCPUS=8 and MAXNODES=128; I prefere to change them to MAXCPUS=4 and MAXNODS=1. Because I want to install Gamess in a PC with 1 node and 4 CPUs ( a quad system). (when setting up your network for Linux clusters, and choosing communication library ('sockets' or 'mpi')? I chose "sockets") Then, in bash write (While you are in ddi directory:

./compddi >& compddi.log &

it takes a few minute to compile ddi. When the compiling finished (See the compddi.log file) in bash write:

mv ddikick.x ..

ATTANTION: you need to write ".."; do not delete dots.
Change your directry in bash to gamess directory and in bash write:

./compall >& compall.log &

It take about 10-15 minutes to compile it.
While you are in Gamess directory, in bash write:

./lked gamess 01 >& lked.log &

Now we are going to do the most importante an complicated part of Gamess installation;
ATTENTION: Here I will go to give you an example for configuring of rungms. I have a PC with quad CPU and I installed my gamess in this directory: "/home/alchemist/gamess". You need to change this address with yours. You need to create a directory scr in your home directory. I created it in this address:" /home/alchemist/scr". You need to create another folder inside of it with the your USERNAME inside of it. I created this one: "/home/alchemist/scr/alchemist" Change the alchemist with your username.
Open the rungms with a text editor like gedit.

Find the line:

set SCR=/scr/$USER
and change it to:
set SCR=/home/alchemist/scr/$USER

Find the line:
if (null$VERNO == null) set VERNO=00
and change it to:
if (null$VERNO == null) set VERNO=01

Find the line:
setenv ERICFMT ~mike/gamess/ericfmt.dat
and change it to:
setenv ERICFMT /home/alchemist/gamess

Find the line:
setenv MCPPATH ~mike/gamess/mcpdata
and change it to:
setenv MCPPATH /home/alchemist/gamess

Find the ilne:
if ($os == Linux) set GMSPATH=/cu/mike/gamess
and change it to:
if ($os == Linux) set GMSPATH=/home/alchemist/gamess

Now you need to do some changes to run the gamess in parallel. Find this part:

if (NCPUS == 1) then
set NNODES=1
set HOSTLIST=('hostname')
endif

You need to keep this part. But after it add these lines:

#
if ($NCPUS == 2) then
set NNODES=1
set HOSTLIST=(localhost:cpus=2)
endif
#
if ($NCPUS == 3) then
set NNODES=1
set HOSTLIST=(localhost:cpus=3)
endif
#
if ($NCPUS == 4) then
set NNODES=1
set HOSTLIST=(localhost:cpus=4)
endif
#
if ($NCPUS == 4) then
set NNODES=1
set HOSTLIST=(localhost:cpus=4)
endif
#


Modify file runall:
Find line:
chdir /u1/mike/gamess
and change to
chdir /home/alchemist/gamess

This configuration is for 4 CPUs in 1 Node.
Now rungms is ready; You can youse your Gamess in parellel. To examine the Gamess you should run some test jobs. In bash write:

./runall >& runall.log &

To run Gamess in bash go to your Gamess directory. You should have a copy of your input file in that directory too. In bash write:

./rungms YOURFILENAME.inp >& YOUROUTPUTNAME.log

If you want to run in parallel write like this:

./rungms YOURFILENAME.inp 01 4 >& YOUROUTPUTNAME.log

This will run the Gamess in 4 CPUs. To run ind three CPUs write:

./rungms YOURFILENAME.inp 01 3 >& YOUROUTPUTNAME.log

This is the end of Gamess instalation on LINUX UBUNTU 10.04.

GOOD LUCK






No comments:

Post a Comment