HPC/Applications/nwchem: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 4: | Line 4: | ||
== Considerations on Carbon == | == Considerations on Carbon == | ||
=== Memory === | === Memory === | ||
* [http://www.nwchem-sw.org/index.php/Release61:Top-level#MEMORY MEMORY] | |||
The default <code>memory</code> allocation is far smaller than useful on Carbon. Raise it using, e.g.: | |||
memory total 3200 mb | |||
=== Disk space === | === Disk space === | ||
* [http://www.nwchem-sw.org/index.php/Release61:Top-level#SCRATCH_DIR_.2F_PERMANENT_DIR SCRATCH_DIR] | |||
NWChem might use a camparably large amount of disk space in volumes and bandwidth not suitable for your $HOME directory. To avoid quota overruns, use either $SANDBOX or $TMPDIR for NWChem scratch. The *.nw input file is static, which makes it difficult to point to temporary directories via their environment vairables. As a solution, I suggest to create a ''symbolic link'' in the job script prior to running NWChem, and use the name of the job script in your *.nw file. See <code>$NWCHEM_HOME/sample.job</code> for the full file. To the following steps: | |||
(1) In the job script, set up a job-specific scratch directory as symlink named "scratch" in the job's working directory. Choose one of: | |||
:*$SANDBOX: distributed scratch (not auto-cleaned, high bandwidth but shared file system) | |||
:* $TMPDIR: node-local (auto-cleaned, slower) | |||
cat $NWCHEM_HOME/sample.job | cat $NWCHEM_HOME/sample.job | ||
<source lang="bash"> | <source lang="bash"> | ||
Line 29: | Line 34: | ||
[[ $dir =~ $SANDBOX/* ]] && rm -r $dir | [[ $dir =~ $SANDBOX/* ]] && rm -r $dir | ||
</source> | </source> | ||
(2) In the NWChem input file, add the line "scratch_dir ./scratch" near the beginning. | |||
cat job.nw | cat job.nw | ||
<source lang="bash"> | <source lang="bash"> | ||
Line 37: | Line 44: | ||
... | ... | ||
</source> | </source> | ||
Revision as of 14:28, March 15, 2013
Introduction
Considerations on Carbon
Memory
The default memory
allocation is far smaller than useful on Carbon. Raise it using, e.g.:
memory total 3200 mb
Disk space
NWChem might use a camparably large amount of disk space in volumes and bandwidth not suitable for your $HOME directory. To avoid quota overruns, use either $SANDBOX or $TMPDIR for NWChem scratch. The *.nw input file is static, which makes it difficult to point to temporary directories via their environment vairables. As a solution, I suggest to create a symbolic link in the job script prior to running NWChem, and use the name of the job script in your *.nw file. See $NWCHEM_HOME/sample.job
for the full file. To the following steps:
(1) In the job script, set up a job-specific scratch directory as symlink named "scratch" in the job's working directory. Choose one of:
- $SANDBOX: distributed scratch (not auto-cleaned, high bandwidth but shared file system)
- $TMPDIR: node-local (auto-cleaned, slower)
cat $NWCHEM_HOME/sample.job
#!/bin/bash
#PBS ...
...
dir=$SANDBOX/$PBS_JOBID
#dir=$TMPDIR
link=scratch
mkdir -p $dir
ln -snf $dir $link
mpirun -machinefile $PBS_NODEFILE -np $PBS_NP \
nwchem foo.nw
# clean sandbox (won't be reached if job terminates for time)
[[ $dir =~ $SANDBOX/* ]] && rm -r $dir
(2) In the NWChem input file, add the line "scratch_dir ./scratch" near the beginning.
cat job.nw
title "foo structure"
echo
scratch_dir ./scratch
geometry units angstroms
...