Installing Cactus for the GrADS Demo

With a Simple (UofC) GrADS Contract Manager

These instructions tell you how to obtain, compile, and run a simple Cactus Worm application. The directions detail how to run on a single processor only - as that simplifies the entire process, as well as reducing the setup processing time. Additionally, these directions show how to set up the Worm without any Resource Selector, once again because it makes the entire process much easier.

This document assumes that the Globus and Ldap environment variables are set. For example, on cmajor.uiuc.edu, LDAP_DIR and LD_LIBRARY_PATH should be set to:

       LDAP_DIR=/usr/local/encap/globus113/OpenLDAP-1.2.7-globus
       LD_LIBRARY_PATH=/usr/local/encap/hdf/5-1.4.0-linux/lib   

Cactus installs in the user space and requires almost nothing besides CVS. We will also need HDF5 for File I/O for the checkpointing. Note that HDF5 needs to be build with the option share=off

Note: the only things required to be installed to be on the GrADS-Cactus testbed are:

It is not necessary for each team to install and run Cactus; however, GrADS members may want to see the program run (or may need to install it so that their own pieces can be tested). These directions are here to help step GrADS team members through a typical Cactus install using the specific setup that we will be using for the GrADS demo.

Here are the details on installing HDF5 from the Cactus folks (note that we're doing things a little differently because our CVS repository is a little different):

   http://www.cactuscode.org/Documentation/HOWTO/HDF5-HOWTO

The cactus organization is at http://www.cactuscode.org

Most of the process that I have below can be found at:

   http://www.cactuscode.org/Documentation/UsersGuideHTML

Other Cactus sites worth looking at:

The following instructions apply to the GrADS repository:

  1. Download the thornlist WaveToyC-WithCM.th from my page at

    http://www.cs.uchicago.edu/~dangulo/grads/WaveToyC-WithCM.th

  2. (optional) you might want to set up an SSH-AGENT so that you don´t have to keep retyping your password:

    eval `ssh-agent`

    Note that these are backquotes.

    To finish starting the ssh-agent, you need to add your key:

    ssh-add
  3. You'll need to set CVS to use SSH instead of RSH (see http://apples.ucsd.edu/~grads/demo/ for more information on the GrADS CVS repository):

    export CVS_RSH=ssh
  4. Checkout the flesh and thorns using

    cvs -d your-ucsd-account-name@magie.ucsd.edu:/net/local/AppLeS/cvsroot checkout grads/Cactus

    See http://apples.ucsd.edu/~grads/demo/ for more information on the GrADS CVS repository.

  5. Change directory

    cd grads/Cactus

  6. Create a config file. See: http://www.cactuscode.org/Documentation/UsersGuideHTML/node9.html I did it on the command line (for the wavetoy_worm app):

    make wavetoy_worm-config DEBUG=all HDF5=yes HDF5_DIR=path-to-HDF5-dir  THORNLIST=../../WaveToyC-WithCM.th

    If you have a problem that points to Fortran in any way (which I occasionally have - it sometimes goes away), you might remove all of the Fortran testing with F77=none F90=none, like this:

    make wavetoy_worm-config DEBUG=all HDF5=yes HDF5_DIR=path-to-HDF5-dir F77=none F90=none THORNLIST=../../WaveToyC-WithCM.th

  7. Make the executable itself:

    make <config>

    For wavetoy_worm (from the Cactus root dir):

    make wavetoy_worm

    This might generate a compile error that contains assignment of read-only variable `bShutdownNow'. If so, proceed to the next step.

  8. (Note: this is only a temporary hack)

    If the proceeding step generated a compile error containing assignment of read-only variable `bShutdownNow', perform this step and then repeat the preceeding step.

    edit the following file:

        configs/wavetoy_worm/bindings/include/ParameterCPrivateCONTRACTMANAGERSTC.h
    and find the declaration of the variable bShutdownNow and the subsequent three variables on lines 19 through 23. Remove the const prefix for all four.

  9. Test to see if the executable was created correctly by running the testsuite:

    make <config>-testsuite

    for wavetoy_worm (from the Cactus root dir):

    make wavetoy_worm-testsuite

  10. Update the executable parameter file with your installation/account specific information. This file is at grads/Cactus/WORM1/wormdemo_app.par. Note that the profile for machine 1 should list the first machine that the application will migrate to (i.e. the second machine on which the app will run).
  11. Do all the above steps EXCEPT for making the parameter file on the machine that the application will migrate to (that is, the executable needs to be built on all machines).

Finally, you can run the application. The application should be in the grads/Cactus/exe dir. These instructions work only for single processor runs (easier to run/debug).

  1. First, you must run the Worm server. This is the module that will accept commands to move the checkpoint files and restart the application on a new set of resources. Running the server takes several steps:
  2. Next, while the Worm server is running, you can run the application

Miscellaneous

WormDesign.ps

Back to Dave Angulo´s GrADS page

Back to Dave Angulo´s home page