Introduction
The TINKER molecular modeling software is a complete and general package for molecular mechanics and dynamics, with some special features for biopolymers.
The code is written in Fortran 90 and parallelised for a shared memory environment using OpenMP. As such, users should not employ more than one ARCHER node.
TINKER is available on ARCHER via modules. This installation employs the current version of TINKER as made available via http://dasher.wustl.edu/tinker/ and the link 'TINKER Distribution Directory': http://dasher.wustl.edu/tinker/distribution/
This version is named "Version 7.1 February 2015".
This installation employs the Intel Programming Environment, PrgEnv-intel/5.2.56, which provides ifort 14.0.4. Further, this installation employs the default FFTW3 module, fftw/3.3.4.1, instead of using the FFTW3 code that comes with TINKER.
Useful links
- TINKER web page
- TINKER and the EPCC/SSI APES project
- Optimising OpenMP for TINKER's Molecular Dynamics package
- PRACE TINKER/OpenMP poster
Licensing and Access
TINKER is licensed software. All users wishing to access the TINKER package should have a valid TINKER licence (see the TINKER License). Once you have a valid licence, please submit a request via SAFE.
Running
To run TINKER you need to add the correct module to your environment.
module add tinker
Updating the key file
The key file may include a line which requires updating. The line may read
parameters ../params/amoebabio09
This can be updated in one of two ways: you may either employ the full path to this file, i.e.
parameters /work/y07/y07/tinker/params/amoebabio09
or you may copy the contents of the /work/y07/y07/tinker/params to your own local directory, i.e.
cp -r /work/y07/y07/tinker/params .
and then change the key file accordingly, i.e.
parameters params/amoebabio09
Example Job Submission Script
The TINKER job should be run from the directory in which the input files are stored. An example TINKER job submission script, running Bench7, is shown below.
#!/bin/bash --login #PBS -N tinker-example #PBS -l select=1 # No more than one node as only OpenMP parallel #PBS -l walltime=01:30:00 #PBS -A [User Budget] export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR) cd $PBS_O_WORKDIR module load tinker export KMP_AFFINITY=disabled export OMP_NUM_THREADS=4 time aprun -cc none -n 1 -d 4 dynamic bench7 100 1.0 10.0 2 298.0
See the TINKER User Guide for a guide to running TINKER and a description of the arguments in the submission script above.
Compiling
Performance
Bench7 was used to benchmark this installation, where it was found to scale to up to 12 OpenMP threads.
Below is the table of execution times (the minimum of three runs), with the speed-up in brackets (as per TINKER benchmark results)
MACHINE TYPE (OS, Compiler) GHz Cores/Threads Seconds --------------------------- --- ------------- ------- ARCHER (Cray Linux Env., Intel 14) 2.7 24/1 312.5 (1.00) ARCHER (Cray Linux Env., Intel 14) 2.7 24/2 175.1 (1.78) ARCHER (Cray Linux Env., Intel 14) 2.7 24/4 96.2 (3.25) ARCHER (Cray Linux Env., Intel 14) 2.7 24/8 61.9 (5.05) ARCHER (Cray Linux Env., Intel 14) 2.7 24/12 51.1 (6.12) ARCHER (Cray Linux Env., Intel 14) 2.7 24/16 45.3 (6.90)