Tags:
create new tag
view all tags

Running Code on NGS

This note is intended to provide basic steps for running code parallelized with MPI-CH on the UK National Grid Service clusters. These instructions are suitable for the eSDO algorithms MagneticFieldExtrapolation and HelicityComputation. Instructions valid as of 15/01/08 for NGS-2 cluster

1. Acquire NGS account

  • http://www.grid-support.ac.uk
  • Click "Apply for Access" and follow instructions for applying, confirming, and installing your grid certificate. Allow ~2 weeks for this process.

2. Configure NGS session

Set up GSI-SSH Term on local machine

  • http://www.grid-support.ac.uk
  • Services -> GSH-SSH Terminal
  • scroll to "Using java web start", "click to install"
  • Installation dialogue box: click "Yes"
  • A GSI-SSH Term terminal will appear on your screen.

Open NGS session and load modules

  • File -> New Connection
  • Host to connect to: ngs.rl.ac.uk, click OK
  • Grid Certificate / Proxy dialogue: click "Use certificate from browser"
  • Choose browser containing NGS certificate, click OK
  • You should now be connected to your home directory on NGS.
  • $ module add clusteruser

3. Install, Configure, Execute Code

Essential packages:

Magnetic Extrapolation

Helicity

Upload code from local machine to NGS

  • GSI-SSH term toolbar: Tools -> SFTP Session
  • A pop-up window appears displaying the contents of NGS home directory.
  • File -> 'Upload Files' and select relevant package files to upload.
  • Upload selected package files

Configure and compile code

Magnetic Extrapolation code

  • Unpack MagneticExtrapolation_1.0_src.tar
  • Unpack MagneticExtrapolation_1.0_testdata.tar
  • Unpack cfitsio package and follow the build instructions in README. When running the ./configure command, set the --prefix option= to ensure that cfitsio libraries (static and dynamic) are created within the cfitsio directory.
  • Copy libcfitsio.so, fitsio.h and longnam.h to the Mag Extrap src directory.
  • Modify Makefile paths to appropriate NGS directories
  • Modify Makefile executable commandline to use the Scali MPI library instead of the supplied libmpich.a library, as follows:
    mpicc -o relax2 $(OBJS) -L /opt/scali/lib64 -lmpi -L ${BASE} -lcfitsio -lm
  • $ make
  • Resulting executable is called "relax2"

Helicity code

  • Unpack Helicity_1.0_src.tar
  • Unpack Helicity_1.0_testdata.tar
  • Unpack cfitsio package and follow the build instructions in README. When running the ./configure command, set the --prefix option= to ensure that cfitsio libraries (static and dynamic) are created within the cfitsio directory.
  • Copy libcfitsio.so, fitsio.h and longnam.h to the Helicity src directory.
  • Modify Makefile paths to appropriate NGS directories
  • Modify Makefile executable commandline to use the Scali MPI library instead of the supplied libmpich.a library, as follows:
    mpicc -o Helicity $(OBJS) -L /opt/scali/lib64 -lmpi -L ${BASE} -lcfitsio -lm
  • $ make
  • Resulting executable is called "Helicity"

Run algorithm

Magnetic Extrapolation code (Example: LowLou Test Case #2 on 4 CPUs)

  • At commandline, type:
    $ globusrun -b -r ngs.rl.ac.uk/jobmanager-lsf '&(jobtype=mpi)(count=4)(environment=(LD_LIBRARY_PATH LD_LIBRARY_PATH:/home/yourUserName/src)(executable=/home/yourUserName/src/relax2)(arguments=22 10000 /home/yourUserName/src/data/LowLouCase2.fits /home/yourUserName/src/data/LowLouCase2.grid_ini /home/yourUserName/src/outputFileName.fits)(stdout=/home/yourUserName/stdout.o)(stderr=/home/yourUserName/stderr.e)'
  • Resulting URL can be used to check status of job:
    $globus-job-status URL
  • URL can also be used in cleanup after execution completes:
    $ globus-job-clean URL

Helicity code (Example: DeVore Test Case #3 on 4 CPUs)

  • At commandline, type:
    $ globusrun -b -r ngs.rl.ac.uk/jobmanager-lsf '&(jobtype=mpi)(count=4)(environment=(LD_LIBRARY_PATH LD_LIBRARY_PATH:/home/yourUserName/src)(executable=/home/yourUserName/src/Helicity)(arguments= /home/yourUserName/src/data/DevoreCase3.fits /home/yourUserName/src/data/DeVoreTestCases.dat /home/yourUserName/src/outputFileName.fits)(stdout=/home/yourUserName/stdout.o)(stderr=/home/yourUserName/stderr.e)'
  • Resulting URL can be used to check status of job:
    $globus-job-status URL
  • URL can also be used in cleanup after execution completes:
    $ globus-job-clean URL

Available NGS-2 cluster machines

Once the user has signed onto a gsissh session with grid certificate, any machine can be accessed via globus using gsissh machine.name.domain without further authentication. For example, gsissh ngs.rl.ac.uk.

  • ngs.rl.ac.ukk
  • ngs.leeds.ac.uk
  • vidar.ngs.manchester.ac.uk
  • ngs.oerc.ox.ac.uk

Tutorials, help pages, useful links

-- MikeSmith - 15 Jan 2008
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | More topic actions
Topic revision: r3 - 2008-01-15 - MikeSmith
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback