Skip to content

Commit

Permalink
per GaMD update 20160104 from author
Browse files Browse the repository at this point in the history
  • Loading branch information
nadyawilliams committed Feb 19, 2016
0 parents commit f4e311d
Show file tree
Hide file tree
Showing 15 changed files with 700 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# build directory
RPMS/
SOURCES/
BUILD/
SPECS/
disk*/
*.iso

_os
_arch
_distribution
.rpmmacros

# ignore version, rules files
Rules-*.mk
Rules.mk
Rolls.mk
roll*.mk
rocks-*.mk

# ignore protected src files
src/amber/*bz2
src/amber/*tgz
src/amber/amber14_GaMD_patch*

1 change: 1 addition & 0 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
GaMD patched AMBER Molecular Dynamics Package
100 changes: 100 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
#
# Makefile
#
# @Copyright@
#
# Rocks(r)
# www.rocksclusters.org
# version 6.2 (SideWinder)
#
# Copyright (c) 2000 - 2014 The Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice unmodified and in its entirety, this list of conditions and the
# following disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# 3. All advertising and press materials, printed or electronic, mentioning
# features or use of this software must display the following acknowledgement:
#
# "This product includes software developed by the Rocks(r)
# Cluster Group at the San Diego Supercomputer Center at the
# University of California, San Diego and its contributors."
#
# 4. Except as permitted for the purposes of acknowledgment in paragraph 3,
# neither the name or logo of this software nor the names of its
# authors may be used to endorse or promote products derived from this
# software without specific prior written permission. The name of the
# software includes the following terms, and any derivatives thereof:
# "Rocks", "Rocks Clusters", and "Avalanche Installer". For licensing of
# the associated name, interested parties should contact Technology
# Transfer & Intellectual Property Services, University of California,
# San Diego, 9500 Gilman Drive, Mail Code 0910, La Jolla, CA 92093-0910,
# Ph: (858) 534-5815, FAX: (858) 534-7345, E-MAIL:invent@ucsd.edu
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# @Copyright@
#

ifndef ROLLCOMPILER
ROLLCOMPILER = gnu
endif
ifndef ROLLMPI
ROLLMPI = openmpi
endif
ifndef ROLLNETWORK
ROLLNETWORK = eth
endif

-include $(ROLLSROOT)/etc/Rolls.mk

preroll::
# Copy and substitute lines of nodes/*.xml.in that reference
# ROLLCOMPILER, ROLLNETWORK, and ROLLMPI, making one line copy for each variable value
for i in `ls nodes/*.in`; do \
export o=`echo $$i | sed 's/\.in//'`; \
cp $$i $$o; \
for c in $(ROLLCOMPILER); do \
perl -pi -e 'print and s/ROLLCOMPILER/'$${c}'/g if m/ROLLCOMPILER/' $$o; \
done; \
for n in $(ROLLNETWORK); do \
perl -pi -e 'print and s/ROLLNETWORK/'$${n}'/g if m/ROLLNETWORK/' $$o; \
done; \
for m in $(ROLLMPI); do \
perl -pi -e 'print and s/ROLLMPI/'$${m}'/g if m/ROLLMPI/' $$o; \
done; \
perl -pi -e '$$_ = "" if m/ROLL(COMPILER|NETWORK|MPI)/' $$o; \
done

default:
$(MAKE) ROLLCOMPILER="$(ROLLCOMPILER)" ROLLNETWORK="$(ROLLNETWORK)" ROLLMPI="$(ROLLMPI)" roll

clean::
rm -f _arch bootstrap.py

cvsclean: clean
for i in `ls nodes/*.in`; do \
export o=`echo $$i | sed 's/\.in//'`; \
rm -f $$o; \
done
rm -rf RPMS SRPMS
rm -rf build.log
91 changes: 91 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
.. hightlight:: rst

AMBER Roll
================
AMBER Molecular Dynamics

.. contents::

Introduction
--------------
This roll installs AMBER tools.
There are 4 flavors compiled for each compiler (gnu, intel): ::

serial,
mpi
cuda
cuda mpi

Downloads
-----------
Amber is a licensed software. Get licensed files for AMBAER and AmberTools from
amber roll and put source files in ``src/amber``.
Download GaMD patches (provided by developer Yinglong Miao): ::

amber14_GaMD_patch_confidential.txt
amber14-gamd-updates-20160104.tgz

Building the roll
------------------
**Dependencies**

- The ``mpi`` roll must be installed on the build/install host.
depends on mpi libraries.
- The ``cuda`` roll must be installed on build/install host . In the absence of cuda, edit
``src/amber/Makefile`` targets to remove cuda-specific compilation.
- The roll sources assumes that modulefiles provided by ``intel``, ``cuda`` and ``mpi``
rolls are available.

The roll uses ``openmpi`` compiled with ``gnu`` compiler for ``eth`` fabric.
To make a roll use the following command: ::

# make ROLLCOMPILER='gnu' ROLLMPI='openmpi' ROLLNETWORK='eth' 2>&1 | tee build.log

or simply ::

# make 2>&1 | tee build.log

A successful build will create the file ``amberGaMD-*.disk1.iso``.

Installing
-------------

To install, execute these instructions on a Rocks frontend: ::

# rocks add roll amberGaMD*.iso
# rocks enable roll amberGaMD
# (cd /export/rocks/install; rocks create distro)
# rocks run roll amberGaMD > add-amberGaMD.sh
# bash add-amberGaMD.sh
Rebuild the compute nodes or ::

# rocks run host compute "yum clean all; yum install amberGaMD-gnu-eth amberGaMD-module-gnu-eth"


What is installed
-------------------

The roll installs GaMD patched amber14 (AmberTools15) and environment module files in: ::

/opt/amberGaMD/gnu - compiled with GNU
/opt/modulefiles/applications/amberGaMD<VERSION> - environment modules


Building GaMD version of roll
-----------------------------

For Sep 2015 workshop buid `amberGaMD` roll based on a received patch for amber14 source
Create the following changes to the amber roll source: ::

modified: src/amber-modules/amber.module.in
modified: src/amber-modules/version.mk
modified: src/amber/Makefile
modified: src/amber/version.mk
modified: version.mk

replace in graphs/default: amber.xml with amberGaMD.xml
replace in nodes: amber-common.xml.in with amberGaMD-common.xml.in

add a GaMD patch/distro to src/amber/ (patch received via email from author, source )

23 changes: 23 additions & 0 deletions graphs/default/amberGaMD.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" standalone="no"?>

<graph>

<description>
AMBER Molecular Dynamics Package
http://ambermd.org
</description>

<copyright>
Copyright (c) 2000 - 2014 The Regents of the University of California.
All rights reserved. Rocks(r) 6.2 www.rocksclusters.org
</copyright>

<changelog>
</changelog>

<edge from="base" to="amberGaMD-common"/>
<order head="base">
<tail>amberGaMD-common</tail>
</order>

</graph>
24 changes: 24 additions & 0 deletions nodes/amberGaMD-common.xml.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" standalone="no"?>

<kickstart>

<description>
AMBER Molecular Dynamics
http://ambermd.org
</description>

<copyright>
Copyright (c) 2000 - 2014 The Regents of the University of California.
All rights reserved. Rocks(r) 6.2 www.rocksclusters.org
</copyright>

<changelog>
</changelog>

<package>amberGaMD-ROLLCOMPILER-ROLLNETWORK</package>
<package>amberGaMD-module-ROLLCOMPILER-ROLLNETWORK</package>

<post>
</post>

</kickstart>
87 changes: 87 additions & 0 deletions src/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# $Id$
#
# @Copyright@
#
# Rocks(r)
# www.rocksclusters.org
# version 6.2 (SideWinder)
#
# Copyright (c) 2000 - 2014 The Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice unmodified and in its entirety, this list of conditions and the
# following disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# 3. All advertising and press materials, printed or electronic, mentioning
# features or use of this software must display the following acknowledgement:
#
# "This product includes software developed by the Rocks(r)
# Cluster Group at the San Diego Supercomputer Center at the
# University of California, San Diego and its contributors."
#
# 4. Except as permitted for the purposes of acknowledgment in paragraph 3,
# neither the name or logo of this software nor the names of its
# authors may be used to endorse or promote products derived from this
# software without specific prior written permission. The name of the
# software includes the following terms, and any derivatives thereof:
# "Rocks", "Rocks Clusters", and "Avalanche Installer". For licensing of
# the associated name, interested parties should contact Technology
# Transfer & Intellectual Property Services, University of California,
# San Diego, 9500 Gilman Drive, Mail Code 0910, La Jolla, CA 92093-0910,
# Ph: (858) 534-5815, FAX: (858) 534-7345, E-MAIL:invent@ucsd.edu
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# @Copyright@
#

-include $(shell ${ROCKSROOT}/bin/arch).mk
-include $(shell ${ROCKSROOT}/bin/os).mk

MPI_FLAVORS = openmpi

default:
@echo "copyright|rpm|pkg|clean"

copyright rpm pkg clean::
for i in $(SRCDIRS); do \
i=`echo $$i | sed 's/^\.\///'`; \
flavor=`echo $$i | sed 's/-modules//'`; \
echo $(MPI_FLAVORS) | grep -q "\<$$flavor\>"; \
if test $$? -eq 0; then \
echo $(ROLLMPI) | grep -q "\<$$flavor\>"; \
if test $$? -ne 0; then \
continue; \
fi; \
fi; \
grep -q ROLLCOMPILER $$i/version.mk; \
if test $$? -eq 0; then \
for c in $(ROLLCOMPILER); do \
for n in $(ROLLNETWORK); do \
echo make $@ in $$i with ROLLCOMPILER=$$c ROLLNETWORK=$$n; \
(cd $$i && $(MAKE) ROLLCOMPILER=$$c ROLLNETWORK=$$n $@) || exit 2; \
done; \
done; \
else \
(cd $$i && $(MAKE) ROLLCOMPILER="$(ROLLCOMPILER)" ROLLNETWORK="$(ROLLNETWORK)" $@) || exit 2; \
fi; \
done
Loading

0 comments on commit f4e311d

Please sign in to comment.