HPC/Applications/nwchem: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
mNo edit summary
Line 3: Line 3:


== Considerations on Carbon ==
== Considerations on Carbon ==
; [http://www.nwchem-sw.org/index.php/Release61:Top-level#SCRATCH_DIR_.2F_PERMANENT_DIR SCRATCH_DIR]: The *.nw input file is static, which makes it difficult to point to temporary directories that change from call to call. 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.
; [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:
# 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)
# In the NWChem input file, add the line "scratch_dir ./scratch" near the beginning.
  cat $NWCHEM_HOME/sample.job
  cat $NWCHEM_HOME/sample.job
<source lang="bash">
<source lang="bash">
#!/bin/bash
#!/bin/bash
#PBS ...
#PBS ...
 
...
# Avoid quota overruns.  
# (1) Add the line "scratch_dir ./scratch" to the input file.
# (2) Provide this directory as local symlink; choose one of:
#  - $SANDBOX: distributed scratch (not auto-cleaned, shared file system)
#  - $TMPDIR node-local (auto-cleaned, slower)


dir=$SANDBOX/$PBS_JOBID
dir=$SANDBOX/$PBS_JOBID

Revision as of 13:38, March 15, 2013

Introduction

Considerations on Carbon

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 $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)
  2. In the NWChem input file, add the line "scratch_dir ./scratch" near the beginning.
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
cat job.nw
title "foo structure"
echo
scratch_dir ./scratch
geometry units angstroms
...
MEMORY
The default memory allocation is far smaller than useful on Carbon. Raise it using, e.g.:
memory total 3200 mb