@@ -18,18 +18,20 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
...
@@ -18,18 +18,20 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
## Contributing principles
## How to Contribute
SuperBenchmark is an open-source project. Your participation and contribution are highly appreciated. There are several important things you need know before contributing to this project:
### Contribute New Feature
### What content can be added to SuperBenchmark
SuperBenchmark is an open-source project. Your participation and contribution are highly appreciated. There are several important things you need know before contributing new feature to this project:
#### What content can be added to SuperBenchmark
1. Bug fixes for existing features.
1. Bug fixes for existing features.
2. New features for benchmark module (micro-benchmark, model-benchmark, etc.)
2. New features for benchmark module (micro-benchmark, model-benchmark, etc.)
If you would like to contribute a new feature on SuperBenchmark, please submit your proposal first. In [GitHub Issues](https://github.com/microsoft/superbenchmark/issues) module, choose `Enhancement Request` to finish the submission. If the proposal is accepted, you can submit pull requests to origin main branch.
If you would like to contribute a new feature on SuperBenchmark, please submit your proposal first. In [GitHub Issues](https://github.com/microsoft/superbenchmark/issues) module, choose `Enhancement Request` to finish the submission. If the proposal is accepted, you can submit pull requests to origin `main` branch.
### Contribution steps
#### Contribution steps
If you would like to contribute to the project, please follow below steps of joint development on GitHub.
If you would like to contribute to the project, please follow below steps of joint development on GitHub.
...
@@ -38,3 +40,49 @@ If you would like to contribute to the project, please follow below steps of joi
...
@@ -38,3 +40,49 @@ If you would like to contribute to the project, please follow below steps of joi
3. When you finish the feature, please fetch the latest code from origin repo, merge to your branch and resolve conflict.
3. When you finish the feature, please fetch the latest code from origin repo, merge to your branch and resolve conflict.
4. Submit pull requests to origin main branch.
4. Submit pull requests to origin main branch.
5. Please note that there might be comments or questions from reviewers. It will need your help to update the pull request.
5. Please note that there might be comments or questions from reviewers. It will need your help to update the pull request.
### Contribute Benchmark Results
If you want to contribute benchmark results run by specified SuperBench version, please follow below guidelines.
#### Where to submit
All the results are stored under `results` folder. The directory structure is as follows. Please create `<your-benchmark-folder>` to submit results.
```
└── results
├── v0.2
│ └── your-benchmark-foldername
│ ├── LICENSE.md
│ ├── README.md
│ ├── configs
│ │ ├── config1.yaml
│ │ └── config2.yaml
│ ├── results
│ │ ├── result1.json
│ │ └── result2.json
│ └── systems
│ ├── system1.json
│ └── system2.json
└── v0.3
└── your-benchmark-foldername
├── LICENSE.md
├── README.md
├── configs
│ ├── config1.yaml
│ └── config2.yaml
├── results
│ ├── result1.json
│ └── result2.json
└── systems
├── system1.json
└── system2.json
```
#### Files to provide
Besides `README` and `LICENSE` file, you should provide at least three benchmarking related files.
*`system.json`: This file lists all the system configurations in json format.
*`config.yaml`: This file is the config file to run benchmarks. Click [here](../getting-started/configuration) to learn the details.
*`result.json`: This file contains the results run by SuperBench with system configuations listed in `system.json` file.