Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
logiciels:amber [2016/06/10 15:03] 164.81.157.90 |
logiciels:amber [2016/06/10 15:08] (Version actuelle) 164.81.157.90 |
||
---|---|---|---|
Ligne 41: | Ligne 41: | ||
#!/bin/bash | #!/bin/bash | ||
- | |||
#SBATCH --nodes=1 | #SBATCH --nodes=1 | ||
#SBATCH --ntasks=1 | #SBATCH --ntasks=1 | ||
Ligne 47: | Ligne 46: | ||
#SBATCH --partition=normal | #SBATCH --partition=normal | ||
#SBATCH --cpus-per-task=1 | #SBATCH --cpus-per-task=1 | ||
- | #SBATCH --mem-per-cpu=2000 | + | #SBATCH --mem-per-cpu=2000 |
- | + | ||
topname=del | topname=del | ||
crdname=del | crdname=del | ||
Ligne 55: | Ligne 53: | ||
STEP=0 | STEP=0 | ||
FINAL=1 | FINAL=1 | ||
- | |||
module load amber/ | module load amber/ | ||
- | |||
# MD are performed in Scratch | # MD are performed in Scratch | ||
# Export running directectory | # Export running directectory | ||
export RUN_DIR=" | export RUN_DIR=" | ||
- | |||
# Link the scratch directory to the current directory | # Link the scratch directory to the current directory | ||
# Link name is related to JOB ID and NOT TO JOBNAME --> Prevent issues related to new MDs with same name | # Link name is related to JOB ID and NOT TO JOBNAME --> Prevent issues related to new MDs with same name | ||
ln -sfn ${RUN_DIR} ${SLURM_JOB_ID}.results | ln -sfn ${RUN_DIR} ${SLURM_JOB_ID}.results | ||
echo ${RUN_DIR} | echo ${RUN_DIR} | ||
- | |||
# Create Scratch directory | # Create Scratch directory | ||
mkdir -p ${RUN_DIR} | mkdir -p ${RUN_DIR} | ||
- | |||
# Copy Topology and CRD names into Scratch directory | # Copy Topology and CRD names into Scratch directory | ||
cp ${topname}.prmtop *.in ${RUN_DIR} | cp ${topname}.prmtop *.in ${RUN_DIR} | ||
- | |||
# Copy starting CRD files according to restart procedure or not | # Copy starting CRD files according to restart procedure or not | ||
if [ $RESTART = ' | if [ $RESTART = ' | ||
Ligne 80: | Ligne 72: | ||
cp ${topname}.inpcrd ${RUN_DIR}/ | cp ${topname}.inpcrd ${RUN_DIR}/ | ||
fi | fi | ||
- | |||
# Enter into Scratch directory | # Enter into Scratch directory | ||
cd ${RUN_DIR} | cd ${RUN_DIR} | ||
- | |||
# Run calculation | # Run calculation | ||
# Keep in mind: Never run a long MD into a single trajectory file - Split it into several trajectories | # Keep in mind: Never run a long MD into a single trajectory file - Split it into several trajectories | ||
Ligne 96: | Ligne 86: | ||
done | done | ||
+ | ==== MPI ==== | ||
+ | #!/bin/bash | ||
+ | #SBATCH --nodes=1-X | ||
+ | #SBATCH --ntasks=X | ||
+ | #SBATCH --time=XX: | ||
+ | #SBATCH --partition=normal | ||
+ | #SBATCH --cpus-per-task=1 | ||
+ | #SBATCH --mem-per-cpu=XXX | ||
+ | topname=del | ||
+ | crdname=del | ||
+ | CURR=$(pwd) | ||
+ | RESTART=YES | ||
+ | STEP=0 | ||
+ | FINAL=1 | ||
+ | module load amber/ | ||
+ | # MD are performed in Scratch | ||
+ | # Export running directectory | ||
+ | export RUN_DIR=" | ||
+ | # Link the scratch directory to the current directory | ||
+ | # Link name is related to JOB ID and NOT TO JOBNAME --> Prevent issues related to new MDs with same name | ||
+ | ln -sfn ${RUN_DIR} ${SLURM_JOB_ID}.results | ||
+ | echo ${RUN_DIR} | ||
+ | # Create Scratch directory | ||
+ | mkdir -p ${RUN_DIR} | ||
+ | # Copy Topology and CRD names into Scratch directory | ||
+ | cp ${topname}.prmtop *.in ${RUN_DIR} | ||
+ | # Copy starting CRD files according to restart procedure or not | ||
+ | if [ $RESTART = ' | ||
+ | cp ${topname}_md${STEP}.rst ${RUN_DIR}/ | ||
+ | else | ||
+ | STEP=0 | ||
+ | cp ${topname}.inpcrd ${RUN_DIR}/ | ||
+ | fi | ||
+ | # Enter into Scratch directory | ||
+ | cd ${RUN_DIR} | ||
+ | # Run calculation | ||
+ | # Keep in mind: Never run a long MD into a single trajectory file - Split it into several trajectories | ||
+ | for i in `seq $STEP 1 $FINAL` | ||
+ | do | ||
+ | j=$(( $i + 1 )) | ||
+ | # Run MD | ||
+ | srun premed.MPI -O -i md.in -o ${crdname}_md${j}.out -p $topname.prmtop -c ${crdname}_md${i}.rst -r ${crdname}_md${j}.rst -x ${crdname}_${j}.mdcrd | ||
+ | # Compress mdcrd file to prevent storage issues and remove the uncompressed trajectory | ||
+ | tar -zcvf ${crdname}_${j}.mdcrd.tar.gz ${crdname}_${j}.mdcrd | ||
+ | rm -rf ${crdname}_${j}.mdcrd | ||
+ | done | ||
+ | |||
+ | ==== GPU ==== | ||
+ | |||
+ | #!/bin/bash | ||
+ | #SBATCH --nodes=1 | ||
+ | #SBATCH --time=02: | ||
+ | #SBATCH --partition=gpu | ||
+ | #SBATCH --cpus-per-task=1 | ||
+ | #SBATCH --gres=gpu | ||
+ | topname=del | ||
+ | crdname=del | ||
+ | CURR=$(pwd) | ||
+ | RESTART=YES | ||
+ | STEP=0 | ||
+ | FINAL=1 | ||
+ | module load amber/ | ||
+ | module load nvidia/ | ||
+ | # MD are performed in Scratch | ||
+ | # Export running directectory | ||
+ | export RUN_DIR=" | ||
+ | # Link the scratch directory to the current directory | ||
+ | # Link name is related to JOB ID and NOT TO JOBNAME --> Prevent issues related to new MDs with same name | ||
+ | ln -sfn ${RUN_DIR} ${SLURM_JOB_ID}.results | ||
+ | echo ${RUN_DIR} | ||
+ | # Create Scratch directory | ||
+ | mkdir -p ${RUN_DIR} | ||
+ | # Copy Topology and CRD names into Scratch directory | ||
+ | cp ${topname}.prmtop *.in ${RUN_DIR} | ||
+ | # Copy starting CRD files according to restart procedure or not | ||
+ | if [ $RESTART = ' | ||
+ | cp ${topname}_md${STEP}.rst ${RUN_DIR}/ | ||
+ | else | ||
+ | STEP=0 | ||
+ | cp ${topname}.inpcrd ${RUN_DIR}/ | ||
+ | fi | ||
+ | # Enter into Scratch directory | ||
+ | cd ${RUN_DIR} | ||
+ | # Run calculation | ||
+ | # Keep in mind: Never run a long MD into a single trajectory file - Split it into several trajectories | ||
+ | for i in `seq $STEP 1 $FINAL` | ||
+ | do | ||
+ | j=$(( $i + 1 )) | ||
+ | # Run MD | ||
+ | pmemd.cuda -O -i md.in -o ${crdname}_md${j}.out -p $topname.prmtop -c ${crdname}_md${i}.rst -r ${crdname}_md${j}.rst -x ${crdname}_${j}.mdcrd | ||
+ | # Compress mdcrd file to prevent storage issues and remove the uncompressed trajectory | ||
+ | tar -zcvf ${crdname}_${j}.mdcrd.tar.gz ${crdname}_${j}.mdcrd | ||
+ | rm -rf ${crdname}_${j}.mdcrd | ||
+ | done | ||