Skip to content

sean-m-brennan/Pavilion

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

HPC testing harness

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 78.3%
  • Perl 20.5%
  • Shell 1.2%