Skip to main content

Parallel Computing Validation System

PyPI version License Python versions Docs

Parallel Computing Validation System (PCVS) is a Validation Orchestrator designed by and for software at scale. Its primary target is HPC applications & runtimes but can flawlessly address smaller use cases. PCVS can help users to create their test scenarios and reuse them among multiples implementations, a high value when it comes to validating programming standards (like APIs & ABIs). No matter the number of programs, benchmarks, languages, or tech non-regression bases use, PCVS gathers in a single execution, and, with a focus on interacting with HPC batch managers efficiently, run jobs concurrently to reduce the time-to-result overall.

Quick installation guide

PCVS is a Python program distributed on PyPI. It can be easily installed using pip.

$ pip3 install pcvs

Alternatively, you can install and test it from source.

How to install from source
# Considering python3.10+
$ pip3 install .
# For dev/testing purposes, use the following to install development dependencies
$ pip3 install '.[dev]'
# Basic tests
$ tox -e pcvs-coverage
# OR
$ coverage run

Once installed, the program should be available as pcvs.

Basic usage

Profiles and test description

PCVS relies on two YAML-based sets of configurations to understand the environment and the suite.

  • The profiles describe the testing environment (compilers, machine, criterions...). They are split in multiple files to help compose profile from basic blocks. They can be manipulated through the pcvs config subcommand. For more details, you can refer to the documentation.

  • The test descriptions describe the test suite (how to build, run and validate). They are independent from the profiles to help share suites adapted to PCVS across different platforms. They can be static (a plain YAML file) or dynamic (generated on the fly by a script). A complete example of a test description can be found in the documentation.

The validity of the YAML files can be asserted using the pcvs check subcommand.

Run a test suite

Once the configurations setup, they can be reused indefinitely to run tests.

$ pcvs run -p <profile> <path/to/suite>

Using the above command will launch PCVS on a given test suite, building and validating it. A quick summary is available at the end of the run.

Commonly used options
  • Print per test validation
    $ pcvs -v run <path/to/suite>
    
  • Print the output of the tests as well
    $ pcvs -v run --print [errors|all] <path/to/suite>
    
  • Exit with a non-zero error code on test failure
    $ pcvs run -S <path/to/suite>
    
  • Filter tests to run (based on tags)
    $ pcvs run --run-filter <list/of/tags> <path/to/suite>
    

Visualize the results

Once the PCVS run completed, there are two ways to visualize the results:

  • Using the webview with pcvs report subcommand and opening localhost:5000 in a browser
  • Using the TUI with pcvs --tui report

The output of the different tests can be retrieved from either as well as the complete command ran.

Complete documentation

The user guide is hosted on GitHub pages: https://cea-hpc.github.io/pcvs. Every CLI command has a builtin help that can be displayed using the -h option. Alternatively, the documentation can be generated locally from the source code.

How to generate the documentation
  • The CLI is managed and documented through click. The manpages can be automatically built with the third-party tool click-man (not a dependency, should be installed manually). Note that these manpages may not contain more information than the content of each --help command.
  • The general documentation use sphinx and can be built by running make html in the docs directory. The entry of the documentation will be build/html/index.html.

Authors

This work is currently supported by the French Alternative Energies and Atomic Energy Commission (CEA). For any question and/or remarks, please contact:

Licensing

PCVS is distributed under the terms of the CeCILL-C Free Software Licence Agreement.

All new contributions must be made under the CeCILL-C terms.

For more details, see COPYING or CeCILL-C website.

SPDX-Licence-Identifier: CECILL-C

Metadata

Release files for pcvs 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pcvs 1.1.1
File Size Uploaded
pcvs-1.1.1.tar.gz 543.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pcvs 1.1.1
File Interpreter ABI Platform
pcvs-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / pcvs-1.1.1.tar.gz

Download URL pcvs-1.1.1.tar.gz
Size 543.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e45aeb37cec46dea45cf716b6a3d1c15d8694af8b02844877bee717baa17ccf4
BLAKE2b-256 checksum
How to use checksums
638aee5296889a0eda154c4fd882cf3154070e28d4de42afeb104b7ebd7336eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release files / pcvs-1.1.1-py3-none-any.whl

Download URL pcvs-1.1.1-py3-none-any.whl
Size 587.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e632e6e145ec42f5a15bb83a0e73427775d800d5ac4c8c2b1fca2928df4c4bbf
BLAKE2b-256 checksum
How to use checksums
25864eb66a9f698cf989b757acce9a9f8f5a8486e6d3858301b397c1d89e835b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page