All Projects → eth-cscs → reframe

eth-cscs / reframe

Licence: BSD-3-Clause license
A powerful Python framework for writing and running portable regression tests and benchmarks for HPC systems.

Programming Languages

python
139335 projects - #7 most used programming language
Cuda
1817 projects
C++
36643 projects - #6 most used programming language
shell
77523 projects
Dockerfile
14818 projects
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to reframe

Openrunner
Computest Openrunner: Benchmark and functional testing for frontend-heavy web applications
Stars: ✭ 16 (-89.61%)
Mutual labels:  benchmarking, performance-testing
Sysbench Docker Hpe
Sysbench Dockerfiles and Scripts for VM and Container benchmarking MySQL
Stars: ✭ 14 (-90.91%)
Mutual labels:  benchmarking, performance-testing
Locust
Scalable user load testing tool written in Python
Stars: ✭ 17,763 (+11434.42%)
Mutual labels:  benchmarking, performance-testing
Jmeter Elasticsearch Backend Listener
JMeter plugin that lets you send sample results to an ElasticSearch engine to enable live monitoring of load tests.
Stars: ✭ 72 (-53.25%)
Mutual labels:  continuous-integration, performance-testing
load-testing-toolkit
Collection of open-source tools for debugging, benchmarking, load and stress testing your code or services.
Stars: ✭ 65 (-57.79%)
Mutual labels:  benchmarking, performance-testing
blas-benchmarks
Timing results for BLAS (Basic Linear Algebra Subprograms) libraries in R
Stars: ✭ 24 (-84.42%)
Mutual labels:  benchmarking, hpc
Goben
goben is a golang tool to measure TCP/UDP transport layer throughput between hosts.
Stars: ✭ 391 (+153.9%)
Mutual labels:  benchmarking, performance-testing
Web Tooling Benchmark
JavaScript benchmark for common web developer workloads
Stars: ✭ 290 (+88.31%)
Mutual labels:  benchmarking, performance-testing
benchmark-trend
Measure performance trends of Ruby code
Stars: ✭ 60 (-61.04%)
Mutual labels:  benchmarking, performance-testing
Gatling Dubbo
A gatling plugin for running load tests on Apache Dubbo(https://github.com/apache/incubator-dubbo) and other java ecosystem.
Stars: ✭ 131 (-14.94%)
Mutual labels:  benchmarking, performance-testing
Jmeter Maven Plugin
The JMeter Maven Plugin
Stars: ✭ 362 (+135.06%)
Mutual labels:  continuous-integration, performance-testing
awesome-locust
A collection of resources covering different aspects of Locust load testing tool usage.
Stars: ✭ 40 (-74.03%)
Mutual labels:  benchmarking, performance-testing
k6-example-github-actions
No description or website provided.
Stars: ✭ 18 (-88.31%)
Mutual labels:  continuous-integration, performance-testing
best
🏆 Delightful Benchmarking & Performance Testing
Stars: ✭ 73 (-52.6%)
Mutual labels:  benchmarking, performance-testing
MACSio
A Multi-purpose, Application-Centric, Scalable I/O Proxy Application
Stars: ✭ 28 (-81.82%)
Mutual labels:  hpc, performance-testing
Phpbench
PHP Benchmarking framework
Stars: ✭ 1,235 (+701.95%)
Mutual labels:  benchmarking, performance-testing
Shadowreader
Serverless load testing for replaying website traffic. Powered by AWS Lambda.
Stars: ✭ 138 (-10.39%)
Mutual labels:  benchmarking, performance-testing
mzbench
Distributed Benchmarking
Stars: ✭ 39 (-74.68%)
Mutual labels:  benchmarking, performance-testing
cask-package-toolset.el
🛠 Toolsettize your emacs package! 🛠
Stars: ✭ 30 (-80.52%)
Mutual labels:  continuous-integration
verification-helper
a testing framework for snippet libraries used in competitive programming
Stars: ✭ 137 (-11.04%)
Mutual labels:  continuous-integration

ReFrame Logo
Build Status Documentation Status codecov.io
GitHub release (latest by date including pre-releases) GitHub commits since latest release GitHub contributors
PyPI version PyPI - Python Version Downloads Downloads
Slack
License DOI
Twitter Follow

ReFrame in a Nutshell

ReFrame is a powerful framework for writing system regression tests and benchmarks, specifically targeted to HPC systems. The goal of the framework is to abstract away the complexity of the interactions with the system, separating the logic of a test from the low-level details, which pertain to the system configuration and setup. This allows users to write portable tests in a declarative way that describes only the test's functionality.

Tests in ReFrame are simple Python classes that specify the basic variables and parameters of the test. ReFrame offers an intuitive and very powerful syntax that allows users to create test libraries, test factories, as well as complete test workflows using other tests as fixtures. ReFrame will load the tests and send them down a well-defined pipeline that will execute them in parallel. The stages of this pipeline take care of all the system interaction details, such as programming environment switching, compilation, job submission, job status query, sanity checking and performance assessment.

Please visit the project's documentation page for all the details!

Installation

ReFrame is fairly easy to install. All you need is Python 3.6 or above and to run its bootstrap script:

git clone https://github.com/reframe-hpc/reframe.git
cd reframe
./bootstrap.sh
./bin/reframe -V

If you want a specific release, please refer to the documentation page.

Running the unit tests

You can optionally run the framework's unit tests with the following command:

./test_reframe.py -v

NOTE: Unit tests require a POSIX-compliant C compiler (available through the cc command), as well as the make utility.

Building the documentation locally

You may build the documentation of the master manually as follows:

./bootstrap.sh +docs

For viewing it, you may do the following:

cd docs/html
python3 -m http.server

The documentation is now up on localhost:8000, where you can navigate with your browser.

Test library

The framework comes with a library of tests that users can either run them from the command line directly or extend them and fine tune them for their systems. See here for more details.

Test examples

You can find examples of real tests under the ReFrame HPC community Github page. The most complete suite of tests currently publicly available is that of CSCS, which you can also find here. You can use those tests as a starting point for implementing your own tests.

Contact

You can get in contact with the ReFrame community in the following ways:

Slack

Please join the community's Slack channel for keeping up with the latest news about ReFrame, posting questions and, generally getting in touch with other users and the developers.

Mailing list

You may also subscribe to the mailing list. Only subscribers can send messages to the list. For unsubscribing, you may send an empty message here.

Contributing back

ReFrame is an open-source project and we welcome and encourage contributions! Check out our Contribution Guide here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].