Resgrp:comp-photo-gaussian
Two versions of Gaussian are available on CX1.
- The latest released code, which is currently Gaussian 09 revision B01. Request this using module load gaussian/g09-b01 in your job submit script. These are Gaussian-supplied binaries. We use this for testing, or if there's no need for features under development.
- We also have Gaussian development versions: to get access to these, you must sign the developer's license agreement first. The latest version is gdv h11. Request this using module load gdvh11. (Both shared memory and linda parallelism are now working --Mjbear 11:59, 23 March 2011 (UTC)). Some documentation below refers to earlier versions, but the basic ideas should be transferrable
Using the code: the development version
The current version to use - unless you need additional code links developed here, that haven't been updated yet - is gdv h13.
module load gaussian/devel-modules
module load gdvh13
(Additional links developed here are a mixture of h08 and h01). --Mjbear 10:54, 22 September 2011 (BST))
For this version, nproclinda (distributed memory across several nodes) works as well as nprocshared (shared memory on single node) They can be used together (tested this logging in to cluster nodes directly --Mjbear 17:23, 23 March 2011 (UTC)); but many of the calculations we run are nprocshared only at present. Note that some time-consuming parts of Gaussian can be parallelised such as integral evaluation and matrix element generation; not all.
For a short example non-linda calculation, copy
/home/gaussian-devel/test_h11/jobscript_test009
/home/gaussian-devel/test_h11/test009.com
Use gdvlb in the job submit script (test160.com in the above directory) to run linda parallel calculations across several nodes, or plain gdv to run just with shared memory on one node.
Cautions: 1) Don't specify the full node memory for your calculation - aim for 90% so there is some room for the operating system; 2) Specify slightly less memory again in the Gaussian input file itself, as the PBS queueing system will delete jobs that request more memory than specified to PBS. You can use the maximum number of processors and memory per node, as only one calculation or part calculation is run per node (calculations don't share a node, unless they use less than the full number of processors).
Modified Gaussian links being tested (accessed via %subst in the input file) are available in sub-directories of
/home/gaussian-devel/gaussiandvh11_pgi_105
(This is the directory that matches the gdvh11 module, but paths to test links must be explicitly specified, as the Gaussian input file cannot include environment variables).
Groups of test links are needed for specific types of test calculations, and these will be gradually updated here.
None of our own development codes have been migrated to gdv h11 or h13 yet (h12p for Vitali).--Mjbear 12:05, 23 March 2011 (UTC) But there is a template for development shared and linda parallelism - with test jobs - in:
/home/gaussian-devel/gaussiandvh11_pgi_105/gdvtest_l502
CASSCF Tutorials
Old versions of the benzene & ketene tutorials are available here
New version of the benzene tutorial is available here
Testing importing the benzene tutorial: comp-photo-benzene-tutorial
Compiling the code
building gdv
Current devel version gdv h23.
--Mjbear 15:49, 19 September 2012 (BST)
CX1: version gdv h11, (module load gdvh11), built with pgf77 (version 10.5)
Check the compiler version matches the code you're about to build!.
It'll be close to the Intel EM64T version of current G09, available here.
To compile code: login-0.cx1.hpc.ic.ac.uk I use the following in my .cshrc file, and change to csh before doing anything interactive:
setenv GAUSS_SCRDIR $TMPDIR setenv gdvroot "/home/gaussian-devel/gaussiandvh11_pgi_105" module load pgi/10.5 setenv LINDA_PATH /home/gaussian-devel/gaussiandvg01_pgi_lindafix/linda8.2/opteron-linux/ source $gdvroot/gdv/bsd/gdv.login set path = ($path $LINDA_PATH/bin)
... so that way , the gaussian environment is set up OK for compilation. (Check that the version you set $gdvroot for is the one you're compiling, and that the compiler version matches!)
For CX1, building a complete new version of gdv is done with
bldgdv all em64t
I've compiled a test link in: $gdvroot/gdvtest_502 This has a template makefile for creating a new development link.
I can add group write permission temporarily for you to create a development directory, as the /home/gaussian-devel directory has the following permissions:
drwxrws--T 23 root gaussian-devel 4096 Jan 28 12:18 gaussian-devel
... every group member can create directories, but no other member can remove them - or create other directories inside.
building linda parallel version
After the non-linda parallel version is built using e.g.
nohup bldgdv all em64t >& bldgdv_all_em64t.log &
An alias mg is defined by gdv.login. This is unreliable, so make a script in the gdv directory that does the same thing. E.g. in
/home/gaussian-devel/gaussiandvh11_pgi_105/gdv/mg_linda mg_linda >& mg_linda.log &
Set up links for running Linda code:
ln -s /home/gaussian-devel/gaussiandvg01_pgi_lindafix/linda8.2/opteron-linux/bin/ntsnet ntsnet
The gdvlb in this directory has been tested: copy this one from now on.
Links for some utilities developed in the group:
Put these here, so that anyone loading the corresponding gaussian module has access to them in their $path. NB: there is probably a better way of making such utilities available, and they could both be improved/merged...
ln -s /home/gaussian-devel/gaussian_local_scripts/cpcomchk cpcomchk ln -s /home/gaussian-devel/gaussian_local_scripts/cpsub cpsub
development links
A test version of l502 is in
/home/gaussian-devel/gaussiandvh11_pgi_105/gdvtest_l502
This includes a makefile, based on Gaussian's link.make, which can be adapted for building other links.
PROBLEM: files in /home/gaussian-devel are owned by users in that group. If you want to create a development subdirectory in a directory owned by someone else, either
- ask them to give you write permission to that directory temporarily (as gaussian-devel group member), so you can create your own subdirectory
- ask them to make the directory group-writeable (gaussian-devel group) but set the sticky bit:
chmod -R +t my_directory
This means that - although anyone can create subdirectories, only the owner or root can delete or rename files.
Be careful about creating files that don't have group read access on the /home/gaussian-devel file system, as these can't be backed up by anyone else!
older versions
module load gdve05
Development version gdv e05 The first version supporting the CX1 archirecture em64t - so we could build it on CX1. The last version Francois Ogliaro tested MMVB with, before some of the force field specifications changed. Kept so we can test MMVB updates.
Code is in
/home/gaussian-devel/gaussiandve05_pgi_625/gdv
source tar present; no development directories; no linda.