TeraChem

From Wiki
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[edit]

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 tchem15.gpu8 nameinput.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 generate the name.in.sub, edit it and submit it again with "qsub name.in.sub".

To generate the name.in.sub and do not sumnit the job you can use the "qs tchem15.gpu8 0 nameinput.in".

Input examples[edit]

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


For an optimization InputOpt and input.xyz

For a MD InputMD

Output files[edit]

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 generate an name.in.sub file (you can do it with "qs tchem15.gpu8 0 nameinput.in" which creates the nameinput.in.sub but does not submit it). When editing the file add the corresponding new lines as: cp -rf ./scr/namefile $DIRECTORY/$JOB_NAME.namefile

Links[edit]

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[edit]

  • 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[edit]

  • 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