Граф коммитов

19 Коммитов

Автор SHA1 Сообщение Дата
Yuting Jiang 37b15db92c
Tools: Add Feature - Add script to generate system config info. (#160)
**Description**
Add script to generate system config info.

**Major Revision**
- Add script to generate system config info into the dict in superbench/tools.
2021-09-06 17:48:36 +08:00
guoshzhao c8357f4e7a
Setup: Revision - Revise torch extra_require (#177)
**Description**
change the minimal version requirement for superbench:
```
'torch>=1.7.0a0',
'torchvision>=0.8.0a0',
```
2021-08-31 16:14:45 +08:00
guoshzhao 7595d79434
Runner: Add Feature - Generate summarized output files. (#157)
**Description**
Generate the summarized output files from all nodes. For each metric, do the reduce operation according to the `reduce_op`

**Major Revision**
- Generate the summarized json file per node:
For microbenchmark, the format is `{benchmark_name}/[{run_count}/]{metric_name}[:rank]`
For modelbenchmark, the format is `{benchmark_name}/{sub_benchmark_name}/[{run_count}/]{metric_name}`
`[]` means optional.
```
{
  "kernel-launch/overhead_event:0": 0.00583,
  "kernel-launch/overhead_event:1": 0.00545,
  "kernel-launch/overhead_event:2": 0.00581,
  "kernel-launch/overhead_event:3": 0.00572,
  "kernel-launch/overhead_event:4": 0.00559,
  "kernel-launch/overhead_event:5": 0.00591,
  "kernel-launch/overhead_event:6": 0.00562,
  "kernel-launch/overhead_event:7": 0.00586,
  "resnet_models/pytorch-resnet50/steptime-train-float32": 544.0827468410134,
  "resnet_models/pytorch-resnet50/throughput-train-float32": 353.7607016465773,
  "resnet_models/pytorch-resnet50/steptime-train-float16": 425.40482617914677,
  "resnet_models/pytorch-resnet50/throughput-train-float16": 454.0142363793973,
  "pytorch-sharding-matmul/0/allreduce": 10.561786651611328,
  "pytorch-sharding-matmul/1/allreduce": 10.561786651611328,
  "pytorch-sharding-matmul/0/allgather": 10.088025093078613,
  "pytorch-sharding-matmul/1/allgather": 10.088025093078613
}
```
- Generate the summarized jsonl file for all nodes, each line is the result from one node in json format.
2021-08-20 16:48:40 +08:00
Yifan Xiong c0c43b8f81
Bug bash - Fix bugs in multi GPU benchmarks (#98)
* Add `sb deploy` command content.
* Fix inline if-expression syntax in playbook.
* Fix quote escape issue in bash command.
* Add custom env in config.
* Update default config for multi GPU benchmarks.
* Update MANIFEST.in to include jinja2 template.
* Require jinja2 minimum version.
* Fix occasional duplicate output in Ansible runner.
* Fix mixed color from Ansible and Python colorlog.
* Update according to comments.
* Change superbench.env from list to dict in config file.
2021-06-23 18:16:43 +08:00
Yifan Xiong ddbc51a135
Bug bash - Fix bugs and refine log in single GPU benchmarks (#97)
Fix bugs and refine log in single GPU benchmarks:

* Fix none framework issue
* Fix empty parameter bug
* Remove missed mobilenet_v3 models
* Change benchmark registration log to debug level
* Add pid in logging
* Add missing benchmarks in default config
* Fix deprecated logging warn
2021-06-16 13:51:22 +08:00
Yifan Xiong 6b0ca1cb05
Runner - Support local mode in runner (#88)
* Support local mode in runner.
2021-06-02 23:58:44 +08:00
guoshzhao 331c740a15
Benchmarks: Add Feature - Add nvml package to provide python interfaces of nvidia. (#91) 2021-06-01 23:31:07 +08:00
Yifan Xiong c05e173b3d
Runner - Implement ansible client and runner (#69)
Implement ansible client and runner:
* add ansible client
* add deploy and check_env playbooks
2021-05-23 23:53:37 +08:00
Yifan Xiong 977b1a7355
CLI - Refine CLI handlers (#68)
* use absolute path of input file
* parse registry uri from image
* merge common parts for arguments processing
2021-05-18 11:34:15 +08:00
Yifan Xiong 5711429403
CLI - Integration with Executor and Runner (#26)
* CLI integration with Executor and Runner
2021-04-12 17:38:17 +08:00
Yifan Xiong 67053d9a1f
Add CUDA dockerfile for superbench (#43)
* add cuda11.1.1 dockerfile
2021-04-12 14:17:10 +08:00
Yifan Xiong 0e2b2b0829
Update logger (#28)
Update logger class.
* add file handler along with stream handler
* add colored formatter
2021-03-29 14:06:55 +08:00
Yifan Xiong 91b44bc5a1
CLI: Code Revision - Use omegaconf to replace hydra for configuration (#27)
Use omegaconf to replace hydra for configuration system:
* remove hydra
* use omegaconf to merge configurations
2021-03-26 21:19:17 +08:00
Yifan Xiong 5d11579a10
CLI - Add command sb [version,deploy,exec,run] (#10)
- Add CLI commands
  * sb version
  * sb deploy
  * sb exec
  * sb run
- Add interface with executor and runner
- Add cli test cases
2021-03-12 13:16:43 +08:00
guoshzhao ebea2d5053
Benchmarks: Add Feature - Add random dataset for Pytorch. (#17)
* add random dataset.

* install pytorch-cpu for test docker.

* fix typo

* add more test cases.

* address comments.

Co-authored-by: Guoshuai Zhao <guzhao@microsoft.com>
2021-03-12 02:30:44 +08:00
Yifan Xiong d32b96eb98
Setup: Add Test - Add Codecov (#9)
Add code coverage configuration.
2021-02-04 10:43:43 +08:00
Yifan Xiong 3f19685fd9
Docs - Initialize README (#6)
Initialize README.md and update SUPPORT.md, update
* project description
* installation
* usage
* developer guide
* add dependencies version requirement
2021-02-01 20:21:12 +08:00
Yifan Xiong a897738699
Setup: Revision - Update lint rules (#7)
Update some lint rules, including:
* change max line length from 79 to 120, following [pytorch]
* add dedent_closing_brackets in yapf
* remove typed def requirements in mypy

Fix return code bug in setup.py, when lint/test command return 1,
`os.system` will return 256 and `sys.exit(256)` will get return code 0.

[pytorch]: https://github.com/pytorch/pytorch/blob/d1dcd5f/.flake8#L3
2021-02-01 14:12:02 +08:00
Yifan Xiong 5be32481b1
Setup: Init - Initialize setup.py and basic configs (#4)
Initialize setup.py and basic configurations for this project.

Major revisions:

- initialize setup.py for Python package
- add gitignore and dockerignore
- add editorconfig for editors
- configure yapf for auto formating
- configure mypy for type hint
- configure flake8 for lint, including quotes and docstrings
- add pre-commit check for `git commit`
- add spelling check in GitHub Actions
- format existing files according to configured rules

Example usage:

    # install dependencies
    $ python3 -m pip install -e .[dev,test]
    $ pre-commit install

    # format code automatically
    $ python3 setup.py format

    # lint code
    $ python3 setup.py lint

    # test code
    $ python3 setup.py test
2021-01-28 21:01:28 +08:00