Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 2.1 KB

README.md

File metadata and controls

49 lines (35 loc) · 2.1 KB

TomoPy Benchmarking with PyCTest

Overview

  • Using PyCTest, the process of building and testing TomoPy is captured and submitted to CDash @ NERSC
  • Results can be found at the TomoPy Testing Dashboard
  • All build warnings and errors are parsed and reported by CDash
  • In addition to running nosetests, several other tests are generated and executed
    • CDash captures the command executed and all of the output
    • Detailed timing and memory reports on TomoPy are integrated into these tests and submitted to CDash in both plotted and ASCII forms
      • Timing and memory plots analysis is done through TiMemory
    • Additionally, the results of the TomoPy tests (i.e. image reconstructions) are also uploaded tp CDash

Installation

  • Anaconda
$ conda install -c jrmadsen -n <env> pyctest timemory
  • PyPi
$ pip install -v pyctest timemory

Execution

  • Submission is invoke by running ./pyctest_tomopy.py from the main directory
  • Run ./pyctest_tomopy.py --help to view the list of available configuration options
  • Supplementary files
    • ./benchmarking/pyctest_tomopy_rec.py is a TomoPy reconstruction script for TomoBank data
      • When the option --globus-path is specified, PyCTest will reconstruct tomo_00001/tomo_00001.h5 with all the specified algorithms
    • ./benchmarking/pyctest_tomopy_phantom.py is a TomoPy reconstruction script for built-in phantoms
  • The default assumption is that the current Python environment has all of the required packages for TomoPy

Example

$ export PYTHON_VERSION=3.6

$ export CONDA_ENV="tomopy-pyctest"

$ conda install -n ${CONDA_ENV} -c conda-forge -c jrmadsen python=${PYTHON_VERSION} nose numpy h5py scipy scikit-image pywavelets mkl-devel mkl_fft python-coveralls dxchange numexpr coverage timemory pyctest

$ source activate ${CONDA_ENV}

$ ./pyctest_tomopy.py --globus-path=${HOME}/devel/globus --num-iter=10 --pyctest-site="Cori-Haswell" --pyctest-token-file="${HOME}/.tokens/nersc-cdash"