Git Product home page Git Product logo

bolt's Introduction

bolt's People

Contributors

aturner-epcc avatar ebreitmo avatar

Stargazers

Krishnakumar Gopalakrishnan, PhD avatar Tl Yim avatar Ian Kirker avatar Tom Walsh avatar Zaniyah avatar  avatar Neil Chue Hong avatar Tom Hornos avatar

Watchers

James Cloos avatar Matt Forshaw avatar  avatar  avatar  avatar

Forkers

ebreitmo aproeme

bolt's Issues

Support non-standard scripts

Some scripts do not use the standard parallel job launcher command (the use other scripts or other commands). Can bolt be changed to support this - is it worth it? Example below from a STAR-CD job on HECToR:

#!/bin/bash --login
# 
# job name USER CHOICE
#PBS -N rndhts_256
# wall time needed for job (could use cput) USER CHOICE
#PBS -l walltime=00:20:00
# number of MPI tasks USER CHOICE
#PBS -l mppwidth=256
# number of cores per node 
#PBS -l mppnppn=32
# user account number USER SETS VALUE necessary
#PBS -A n02-weat
# import the environment from the launch shell
#PBS -V
#   This last option to PBS assumes that the user has set the STAR environment with
#   . /work/y07/y07/starcd/phase2b/4.14/etc/setstar
#
# Now change directory to the LUSTRE work directory in this case it is where the 
# job was initiated This could be USER CHOICE i.e. it could be set explicitly
cd $PBS_O_WORKDIR

# work out how many MPI tasks were requested

export NTASK=256
# MRI diagnostic - useful for debug
echo "DEBUG: NTASK= $NTASK PBS_O_WORKDIR= $PBS_O_WORKDIR PBS_JOBID is $PBS_JOBID"
#
BNAME=`basename $STARDIR`
DNAME=`dirname $STARDIR`
echo "using BNAME $BNAME and DNAME $DNAME"
###if [ -z $LD_LIBRARY_PATH} ] ; then
###export LD_LIBRARY_PATH=${DNAME}/lib64
###else
echo DEBUG LD_LIBRARY_PATH is $LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${DNAME}/lib64:${LD_LIBRARY_PATH}
echo DEBUG LD_LIBRARY_PATH changed to  $LD_LIBRARY_PATH
###fi
#
#  Run STAR
echo "star -mpi=xt -decompflags="MMET,1" -powersuite -scratch=$PBS_O_WORKDIR -notracker $NTASK"
star -mpi=xt -decompflags="MMET,1" -powersuite -scratch=$PBS_O_WORKDIR -notracker $NTASK

# would usually issue "aprun -n $NTASK -a xt (path_to_app)/app <app options>"
# but this has been hard-wired into the Cray variation.
# it assumes all cores per node to be used for MPI
#
# end of job

Support codes

Add option to support software packages centrally installed on the system. Need ".code" configuration files which contains:

  • Code name
  • Description
  • parallel exe
  • serial exe
  • (hybrid exe)
  • preamble
  • postamble
  • message (includes meaning of arguments)

Note that using codes will change the significance of the arguments as we no longer supply the executable name.

Allow detailed resource configuration to be listed

A combination of the -l and -r flags should be able to provide more detailed information on the specified resource. Need to add a method to resource.py that prints this detailed information and then modify the main method to print it correctly.

Add support for threads

The tool should support the creation of jobs that use both distributed memory and shared-memory (OpenMP) parallelism. This will require configuration options in the 'resource' to specify whether threads are allowed and how their placement is controlled.

Setters need to verify values

Setters in resource.py need to check that the values are consistent. For example, the preferred stride must be > 0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.