TeraChem

From Wiki
Revision as of 14:58, 20 November 2013 by Admin2 (talk | contribs) (Input examples)
Jump to navigation Jump to search

go back to Main Page, Computational Resources, Computational Codes


TeraChem is general purpose quantum chemistry software designed to run on NVIDIA GPU architectures under a 64-bit Linux operating system.

How to submit an input

To access the old machines, 4GPUs:

ssh username@10.3.1.200

To submit a job:

qs tchem150 inputfile.in

for older versions:

qs tchem1 inputfile.in
qs tchem145 inputfile.in

From October 2012, the qs sends the jobs in parallel to the two GPUs available, no need to specify it in the input file. If for some reason you wish to run calcs on a single GPU you must state it in the TeraChem input file (GPU 1 0 for the new GPU or GPU 1 1 for the old one).

At the moment there is a limit of 5 jobs per user in the queue.

To access the new machines, 8 CPUS:

They are installed in kimik2, on the kimik2171. The machine has 12 cores, 8 CPUs and a memory of 128 MB (for this reason the queue is called c12m128gpu8.q).

To submit the calculations use

qs terachem15.c12m128gpu8 name.in

To see the queue:

qstat -f -q c12m128gpu8.q

ATTENTION: To save space in the disk, only the name.out and the name.optim.xyz are saved in your home directory (the name.out while the calculation is running and the name.optim.xyz when the calculation finishes). If you wish to get other files apart from these two you will have to copy an old name.in.sub (or submit and kill), edit it and submit it again with "qsub name.in.sub". name.in.sub

Input examples

TheraChem is a real user-friendly program with clear and easy input files.


For an optimization InputOpt and input.xyz

For a MD Molecular dynamics

Output files

TeraChem creates an output file called name.out, it contains important information about energies, cycles convergence... but it does not contain the optimized geometry of optimizations or MD, nor the MO, ... this information can be found in the files included in the directory scr.

  • In the 4 GPUs machines, the full directory /scr/ is copied from the /scratch/ to your home directory, moving the /scr/ to name.scr.
  • In the 8 GPUs machines, only the optim.xyz file is copied from the /scratch/ to your home directory, moving the /scr/optim.xyz to name.optim.xyz. The rest of the files are deleted. If you wish to get more output files, like c0, charge.xls,... you have to edit an old name.in.sub file (or submit with qs and kill the job). When editing the file change the name of the input accordingly and add the corresponding new lines as: cp -rf ./scr/namefile $DIRECTORY/$JOB_NAME.namefile

Links

User's guide: http://www.petachem.com/doc/userguide.pdf

Web page: http://www.petachem.com/products.html

Forum: http://www.petachem.com/forum/

Tests

  • File:Terachem.pdf Some tests on version 1.0, which does not have d orbitals or ECP's. Comparison was Gaussian09 with our 8 core machines vs (ii) Terachem with a single VGA Nvidia Geforce GTX-470 card.
  • Some tests have been performed on the 1.50 version. This version does include d orbitals but not ECPs. Compared with Gaussian09 is faster for large systems (about 1.5 comparing 8 CPUs vs 1 GPU). The paralelization of TeraChem has also been tested showing that calculations run 1.9 faster on two GPUs than in one. The use of the keyword dftgrid 3 is mandatory to obtain energies with an accuracy similar to that of Gaussian.

Tips

  • When running calculations where a guess is needed, or when the default procedure doesn't converge etc:

Instead of painfully playing with xtol and threall, maxscf, etc... An easier way may consist of doing two calculations:

1- Include the following keywords in your input:

run project                   # typically replaces run minimize
basis sto-3g                  # use "low" basis set
projectbasis 6-31g**          # project on "high" basis set

2- When the 1st calculation is successful, replace the previous keywords and use the projected basis as a guess, e.g.:

run minimize                   
guess /.../scr/prjct          # this file has been generated by step 1, you need the full path.
basis 6-31g**                 # work now with the "high" basis set