Coder Social home page Coder Social logo

pavilion's Introduction

Pavilion

LA-CC-15-041

Pavilion is a Python 2.7-based software framework for running and analyzing jobs/tests targeting HPC systems.

Usage

Set the ENV variable PVINSTALL to point to the installation directory.

setenv PVINSTALL /users/me/pavilion

Add the PAV sub-directory to your Path.

setenv PATH ${PVINSTALL}/PAV:${PVINSTALL}/PAV/scripts:${PATH}

Create your own default and test specific test config files. See examples in $PVINSTALL/docs directory.

Help with running the tool can be accessed by running pav -h.

Alternative execution method

An alternative run method has been added (06/21/18):

First, set the required environment variables:

export PVINSTALL=/path/to/repository
export PAV_CFG_ROOT=$PVINSTALL/test_suites
export PATH=$PATH:$PVINSTALL/PAV

This allows for the user to employ pre-existing test configurations.

From the command line, the machine, test, and modes can be specified.

  • Machine: specifies the machine on which the tests are run and sets an upper limit on nodes and submission times.
  • Modes: specifies different run modes including what partition or reservation on which to run the tests.
  • Tests: specifies the test to be run (i.e. - supermagic, imb, helloC, lustre-mount, etc.).

In addition, custom modifications can be specified in the command line call. These take the form of:

-c *.slurm.num_nodes=4

Multiple custom modifications can be specified per command line call.

An example command line call that uses all of these is:

pav -n wolf -m res-PreventMaint -t imb -c *.slurm.num_nodes=all -c allreduce.source_location=/test/location run_test_suite

This will run the Intel MPI Benchmark test suite on Wolf using all available nodes with a different source location than that specified in the pre-generated test configs in the PreventMaint reservation.

Version 1.1.2

  • Verified to work with Moab scheduler thus far.
  • Support for both for Slurm and Raw in version 1.1.0.

Collaboration tips:

  • add new features (sub-commands) to the plugins directory or append new path to the ENV variable PV_PLUGIN_DIR and place code there.
  • all remaining support code add to the modules directory or append to the ENV variable PV_SRC_DIR and place code there.
  • add support scripts in other languages to the scripts directory

Project goals:

  • Support multiple schedulers/resource managers
  • Modular to encourage collaboration
  • Simple to add tests, but highly configurable
  • Backward compatible (where reasonable) to the Gazebo test framework
  • Development adheres to a well know set of developement and coding principles
  • Open source and managed thru git
  • No extra files necessary to be placed into users test/job directory to hook into Pavilion
  • Only one command needed to run cli. Sub commands under "pav" umbrella

See the README.txt file in the docs directory for more detailed information

pavilion's People

Contributors

mtndlr1 avatar cadejager avatar sean-m-brennan avatar bencasses avatar gsparrow avatar

Watchers

 avatar

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.