From fa1ecec5daf31b2c065449a3fc7bac48196e0de8 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Sun, 21 Jan 2024 22:27:18 +0800 Subject: [PATCH 01/34] update readme --- training/metax/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 training/metax/README.md diff --git a/training/metax/README.md b/training/metax/README.md new file mode 100644 index 000000000..69cc83da7 --- /dev/null +++ b/training/metax/README.md @@ -0,0 +1 @@ +# 01/22/2024 From 319e835b466de329aae087dc5ebca8f12777dbc4 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Sun, 21 Jan 2024 22:30:11 +0800 Subject: [PATCH 02/34] add company info --- training/metax/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/training/metax/README.md b/training/metax/README.md index 69cc83da7..fc9540aa0 100644 --- a/training/metax/README.md +++ b/training/metax/README.md @@ -1 +1,2 @@ -# 01/22/2024 +# 厂商信息 + From 3a0a16667c9d7e849fbf30467aa37f80e22e3ec3 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 12:39:59 +0800 Subject: [PATCH 03/34] faster_rcnn update & first PR --- .../training/ascend/README_20240121222426.md | 59 ++++ .../training/ascend/README_20240122102708.md | 60 ++++ .../training/ascend/README_20240122102716.md | 59 ++++ .../training/metax/README_20240122095833.md | 74 +++++ .../training/metax/README_20240122100022.md | 76 +++++ .../training/metax/README_20240122100023.md | 76 +++++ .../training/metax/README_20240122100024.md | 76 +++++ .../training/metax/README_20240122100652.md | 76 +++++ .../training/metax/README_20240122101536.md | 74 +++++ .../training/metax/README_20240122101537.md | 74 +++++ .../training/metax/README_20240122101841.md | 74 +++++ .../training/metax/README_20240122101842.md | 74 +++++ .../training/metax/README_20240122102846.md | 77 +++++ .../training/metax/README_20240122102847.md | 77 +++++ .../training/metax/README_20240122103442.md | 77 +++++ .../training/metax/README_20240122103449.md | 77 +++++ .../training/metax/README_20240122103456.md | 77 +++++ .../training/metax/README_20240122103501.md | 77 +++++ .../training/metax/README_20240122103502.md | 77 +++++ .../training/metax/README_20240122103505.md | 77 +++++ .../training/metax/README_20240122103510.md | 77 +++++ .../training/metax/README_20240122103659.md | 77 +++++ .../training/metax/README_20240122103724.md | 77 +++++ .../training/metax/README_20240122103814.md | 77 +++++ .../training/metax/README_20240122103956.md | 77 +++++ .../training/metax/README_20240122104013.md | 77 +++++ .../training/metax/README_20240122104021.md | 77 +++++ .../training/metax/README_20240122104027.md | 77 +++++ .../training/metax/README_20240122104031.md | 77 +++++ .../training/metax/README_20240122104045.md | 77 +++++ .../training/metax/README_20240122104052.md | 77 +++++ .../training/metax/README_20240122104053.md | 77 +++++ .../training/metax/README_20240122104102.md | 77 +++++ .../training/metax/README_20240122104111.md | 77 +++++ .../training/metax/README_20240122104123.md | 77 +++++ .../training/metax/README_20240122104245.md | 77 +++++ .../training/metax/README_20240122104258.md | 77 +++++ .../training/metax/README_20240122104259.md | 77 +++++ .../training/metax/README_20240122104319.md | 77 +++++ .../training/metax/README_20240122104329.md | 77 +++++ .../training/metax/README_20240122104332.md | 77 +++++ .../training/metax/README_20240122104402.md | 77 +++++ .../training/metax/README_20240122104431.md | 77 +++++ .../training/metax/README_20240122104432.md | 77 +++++ .../training/metax/README_20240122104442.md | 77 +++++ .../training/metax/README_20240122104500.md | 77 +++++ .../training/metax/README_20240122104633.md | 77 +++++ .../training/metax/README_20240122105735.md | 77 +++++ .../training/metax/README_20240122105736.md | 77 +++++ .../training/metax/README_20240122110105.md | 77 +++++ .../training/metax/README_20240122110124.md | 77 +++++ .../training/metax/README_20240122110125.md | 77 +++++ .../training/metax/README_20240122110203.md | 77 +++++ .../training/metax/README_20240122111158.md | 77 +++++ .../training/metax/README_20240122111159.md | 77 +++++ .../training/metax/README_20240122111214.md | 77 +++++ .../training/metax/README_20240122111215.md | 77 +++++ .../training/metax/README_20240122111220.md | 77 +++++ .../training/metax/README_20240122111224.md | 77 +++++ .../training/metax/README_20240122111257.md | 77 +++++ .../training/metax/README_20240122111316.md | 77 +++++ .../training/metax/README_20240122111326.md | 77 +++++ .../training/metax/README_20240122111333.md | 77 +++++ .../training/metax/README_20240122111334.md | 77 +++++ .../training/metax/README_20240122111356.md | 77 +++++ .../training/metax/README_20240122111403.md | 77 +++++ .../training/metax/README_20240122111404.md | 77 +++++ .../training/metax/README_20240122112025.md | 77 +++++ .../training/metax/README_20240122112059.md | 77 +++++ .../training/metax/README_20240122112100.md | 77 +++++ .../training/metax/README_20240122112126.md | 77 +++++ .../training/metax/README_20240122112133.md | 77 +++++ .../training/metax/README_20240122112141.md | 77 +++++ .../training/metax/README_20240122112156.md | 77 +++++ .../training/metax/README_20240122112207.md | 77 +++++ .../training/metax/README_20240122112222.md | 77 +++++ .../training/metax/README_20240122112229.md | 77 +++++ .../training/metax/README_20240122112237.md | 77 +++++ .../training/metax/README_20240122112242.md | 77 +++++ .../training/metax/README_20240122112251.md | 77 +++++ .../training/metax/README_20240122112255.md | 77 +++++ .../training/metax/README_20240122112259.md | 77 +++++ .../training/metax/README_20240122112310.md | 77 +++++ .../training/metax/README_20240122112311.md | 77 +++++ .../training/metax/README_20240122112413.md | 77 +++++ .../training/metax/README_20240122112414.md | 77 +++++ .../training/metax/README_20240122112436.md | 77 +++++ .../training/metax/README_20240122112443.md | 77 +++++ .../training/metax/README_20240122112448.md | 77 +++++ .../training/metax/README_20240122112454.md | 77 +++++ .../training/metax/README_20240122112458.md | 77 +++++ .../training/metax/README_20240122112506.md | 77 +++++ .../training/metax/README_20240122112507.md | 77 +++++ .../training/metax/README_20240122112512.md | 77 +++++ .../training/metax/README_20240122112521.md | 77 +++++ .../training/metax/README_20240122112524.md | 77 +++++ .../training/metax/README_20240122112525.md | 77 +++++ .../training/metax/README_20240122112528.md | 77 +++++ .../training/metax/README_20240122112533.md | 77 +++++ .../training/metax/README_20240122112534.md | 77 +++++ .../training/metax/README_20240122112544.md | 77 +++++ .../training/metax/README_20240122112545.md | 77 +++++ .../training/metax/README_20240122112606.md | 77 +++++ .../training/metax/README_20240122112719.md | 77 +++++ .../training/metax/README_20240122112724.md | 77 +++++ .../training/metax/README_20240122112727.md | 77 +++++ .../training/metax/README_20240122112728.md | 77 +++++ .../training/metax/README_20240122112738.md | 77 +++++ .../training/metax/README_20240122112742.md | 77 +++++ .../training/metax/README_20240122112752.md | 77 +++++ .../training/metax/README_20240122112801.md | 77 +++++ .../training/metax/README_20240122112809.md | 77 +++++ .../training/metax/README_20240122112823.md | 77 +++++ .../training/metax/README_20240122112833.md | 77 +++++ .../training/metax/README_20240122112845.md | 77 +++++ .../training/metax/README_20240122112852.md | 77 +++++ .../training/metax/README_20240122112857.md | 77 +++++ .../training/metax/README_20240122112901.md | 77 +++++ .../training/metax/README_20240122112910.md | 77 +++++ .../training/metax/README_20240122112931.md | 77 +++++ .../training/metax/README_20240122112936.md | 77 +++++ .../training/metax/README_20240122112944.md | 77 +++++ .../training/metax/README_20240122112952.md | 77 +++++ .../training/metax/README_20240122113021.md | 77 +++++ .../training/metax/README_20240122113031.md | 77 +++++ .../training/metax/README_20240122113035.md | 77 +++++ .../training/metax/README_20240122113039.md | 77 +++++ .../training/metax/README_20240122113053.md | 77 +++++ .../training/metax/README_20240122113101.md | 77 +++++ .../training/metax/README_20240122113227.md | 77 +++++ .../training/metax/README_20240122113228.md | 77 +++++ .../training/metax/README_20240122113230.md | 77 +++++ .../training/metax/README_20240122113231.md | 77 +++++ .../training/metax/README_20240122113232.md | 77 +++++ .../training/metax/README_20240122113233.md | 77 +++++ .../training/metax/README_20240122113251.md | 77 +++++ .../training/metax/README_20240122113252.md | 77 +++++ .../training/metax/README_20240122120442.md | 77 +++++ .../training/metax/README_20240122122457.md | 77 +++++ .../training/metax/README_20240122122513.md | 77 +++++ .../docker_image/Dockerfile_20240122121816 | 0 .../docker_image/Dockerfile_20240122121903 | 3 + .../docker_image/Dockerfile_20240122121904 | 3 + .../docker_image/Dockerfile_20240122121905 | 3 + .../README_20240122122914.md | 57 ++++ .../README_20240122123311.md | 56 ++++ .../README_20240122123312.md | 56 ++++ .../README_20240122123313.md | 56 ++++ .../README_20240122123314.md | 56 ++++ .../README_20240122123335.md | 58 ++++ .../README_20240122123336.md | 58 ++++ .../README_20240122123632.md | 58 ++++ .../README_20240122123633.md | 58 ++++ .../README_20240122123703.md | 58 ++++ .../README_20240122123725.md | 58 ++++ .../README_20240122123807.md | 58 ++++ .../README_20240122123903.md | 58 ++++ .../README_20240122123904.md | 58 ++++ .../README_20240122123920.md | 58 ++++ .../README_20240122123921.md | 58 ++++ .../config/config_A100x1x1_20240122121150.py | 4 + .../config/config_A100x1x1_20240122121432.py | 4 + .../config/config_A100x1x1_20240122122125.py | 4 + .../config/config_A100x1x1_20240122122241.py | 4 + .../config/config_A100x1x8_20240122121150.py | 3 + .../config/config_A100x1x8_20240122121433.py | 3 + .../config/config_A100x1x8_20240122121434.py | 3 + .../metax/metax_monitor_20240122120533.py | 288 ++++++++++++++++++ .../metax/metax_monitor_20240122120558.py | 288 ++++++++++++++++++ .../metax/metax_monitor_20240122120616.py | 288 ++++++++++++++++++ .../metax/metax_monitor_20240122120617.py | 288 ++++++++++++++++++ .../metax/metax_monitor_20240122120633.py | 288 ++++++++++++++++++ .../metax/metax_monitor_20240122120634.py | 288 ++++++++++++++++++ .../metax/metax_monitor_20240122120635.py | 288 ++++++++++++++++++ .../config/test_conf_20240121222426.py | 151 +++++++++ .../config/test_conf_20240122121423.py | 153 ++++++++++ .../config/test_conf_20240122121424.py | 153 ++++++++++ .../config/test_conf_20240122121534.py | 153 ++++++++++ .../config/test_conf_20240122122419.py | 153 ++++++++++ .../config/test_conf_20240122122420.py | 153 ++++++++++ training/metax/README.md | 75 +++++ .../metax/docker_image/pytorch_2.0/Dockerfile | 3 + .../pytorch_2.0/pytorch_install.sh | 1 + training/metax/faster_rcnn-pytorch/README.md | 58 ++++ .../config/config_A100x1x1.py | 4 + .../config/config_A100x1x8.py | 3 + .../config/requirements.txt | 4 + .../metax/faster_rcnn-pytorch/extern/.gitkeep | 0 training/metax/metax_monitor.py | 288 ++++++++++++++++++ training/run_benchmarks/config/test_conf.py | 4 +- 190 files changed, 15032 insertions(+), 1 deletion(-) create mode 100644 .history/training/ascend/README_20240121222426.md create mode 100644 .history/training/ascend/README_20240122102708.md create mode 100644 .history/training/ascend/README_20240122102716.md create mode 100644 .history/training/metax/README_20240122095833.md create mode 100644 .history/training/metax/README_20240122100022.md create mode 100644 .history/training/metax/README_20240122100023.md create mode 100644 .history/training/metax/README_20240122100024.md create mode 100644 .history/training/metax/README_20240122100652.md create mode 100644 .history/training/metax/README_20240122101536.md create mode 100644 .history/training/metax/README_20240122101537.md create mode 100644 .history/training/metax/README_20240122101841.md create mode 100644 .history/training/metax/README_20240122101842.md create mode 100644 .history/training/metax/README_20240122102846.md create mode 100644 .history/training/metax/README_20240122102847.md create mode 100644 .history/training/metax/README_20240122103442.md create mode 100644 .history/training/metax/README_20240122103449.md create mode 100644 .history/training/metax/README_20240122103456.md create mode 100644 .history/training/metax/README_20240122103501.md create mode 100644 .history/training/metax/README_20240122103502.md create mode 100644 .history/training/metax/README_20240122103505.md create mode 100644 .history/training/metax/README_20240122103510.md create mode 100644 .history/training/metax/README_20240122103659.md create mode 100644 .history/training/metax/README_20240122103724.md create mode 100644 .history/training/metax/README_20240122103814.md create mode 100644 .history/training/metax/README_20240122103956.md create mode 100644 .history/training/metax/README_20240122104013.md create mode 100644 .history/training/metax/README_20240122104021.md create mode 100644 .history/training/metax/README_20240122104027.md create mode 100644 .history/training/metax/README_20240122104031.md create mode 100644 .history/training/metax/README_20240122104045.md create mode 100644 .history/training/metax/README_20240122104052.md create mode 100644 .history/training/metax/README_20240122104053.md create mode 100644 .history/training/metax/README_20240122104102.md create mode 100644 .history/training/metax/README_20240122104111.md create mode 100644 .history/training/metax/README_20240122104123.md create mode 100644 .history/training/metax/README_20240122104245.md create mode 100644 .history/training/metax/README_20240122104258.md create mode 100644 .history/training/metax/README_20240122104259.md create mode 100644 .history/training/metax/README_20240122104319.md create mode 100644 .history/training/metax/README_20240122104329.md create mode 100644 .history/training/metax/README_20240122104332.md create mode 100644 .history/training/metax/README_20240122104402.md create mode 100644 .history/training/metax/README_20240122104431.md create mode 100644 .history/training/metax/README_20240122104432.md create mode 100644 .history/training/metax/README_20240122104442.md create mode 100644 .history/training/metax/README_20240122104500.md create mode 100644 .history/training/metax/README_20240122104633.md create mode 100644 .history/training/metax/README_20240122105735.md create mode 100644 .history/training/metax/README_20240122105736.md create mode 100644 .history/training/metax/README_20240122110105.md create mode 100644 .history/training/metax/README_20240122110124.md create mode 100644 .history/training/metax/README_20240122110125.md create mode 100644 .history/training/metax/README_20240122110203.md create mode 100644 .history/training/metax/README_20240122111158.md create mode 100644 .history/training/metax/README_20240122111159.md create mode 100644 .history/training/metax/README_20240122111214.md create mode 100644 .history/training/metax/README_20240122111215.md create mode 100644 .history/training/metax/README_20240122111220.md create mode 100644 .history/training/metax/README_20240122111224.md create mode 100644 .history/training/metax/README_20240122111257.md create mode 100644 .history/training/metax/README_20240122111316.md create mode 100644 .history/training/metax/README_20240122111326.md create mode 100644 .history/training/metax/README_20240122111333.md create mode 100644 .history/training/metax/README_20240122111334.md create mode 100644 .history/training/metax/README_20240122111356.md create mode 100644 .history/training/metax/README_20240122111403.md create mode 100644 .history/training/metax/README_20240122111404.md create mode 100644 .history/training/metax/README_20240122112025.md create mode 100644 .history/training/metax/README_20240122112059.md create mode 100644 .history/training/metax/README_20240122112100.md create mode 100644 .history/training/metax/README_20240122112126.md create mode 100644 .history/training/metax/README_20240122112133.md create mode 100644 .history/training/metax/README_20240122112141.md create mode 100644 .history/training/metax/README_20240122112156.md create mode 100644 .history/training/metax/README_20240122112207.md create mode 100644 .history/training/metax/README_20240122112222.md create mode 100644 .history/training/metax/README_20240122112229.md create mode 100644 .history/training/metax/README_20240122112237.md create mode 100644 .history/training/metax/README_20240122112242.md create mode 100644 .history/training/metax/README_20240122112251.md create mode 100644 .history/training/metax/README_20240122112255.md create mode 100644 .history/training/metax/README_20240122112259.md create mode 100644 .history/training/metax/README_20240122112310.md create mode 100644 .history/training/metax/README_20240122112311.md create mode 100644 .history/training/metax/README_20240122112413.md create mode 100644 .history/training/metax/README_20240122112414.md create mode 100644 .history/training/metax/README_20240122112436.md create mode 100644 .history/training/metax/README_20240122112443.md create mode 100644 .history/training/metax/README_20240122112448.md create mode 100644 .history/training/metax/README_20240122112454.md create mode 100644 .history/training/metax/README_20240122112458.md create mode 100644 .history/training/metax/README_20240122112506.md create mode 100644 .history/training/metax/README_20240122112507.md create mode 100644 .history/training/metax/README_20240122112512.md create mode 100644 .history/training/metax/README_20240122112521.md create mode 100644 .history/training/metax/README_20240122112524.md create mode 100644 .history/training/metax/README_20240122112525.md create mode 100644 .history/training/metax/README_20240122112528.md create mode 100644 .history/training/metax/README_20240122112533.md create mode 100644 .history/training/metax/README_20240122112534.md create mode 100644 .history/training/metax/README_20240122112544.md create mode 100644 .history/training/metax/README_20240122112545.md create mode 100644 .history/training/metax/README_20240122112606.md create mode 100644 .history/training/metax/README_20240122112719.md create mode 100644 .history/training/metax/README_20240122112724.md create mode 100644 .history/training/metax/README_20240122112727.md create mode 100644 .history/training/metax/README_20240122112728.md create mode 100644 .history/training/metax/README_20240122112738.md create mode 100644 .history/training/metax/README_20240122112742.md create mode 100644 .history/training/metax/README_20240122112752.md create mode 100644 .history/training/metax/README_20240122112801.md create mode 100644 .history/training/metax/README_20240122112809.md create mode 100644 .history/training/metax/README_20240122112823.md create mode 100644 .history/training/metax/README_20240122112833.md create mode 100644 .history/training/metax/README_20240122112845.md create mode 100644 .history/training/metax/README_20240122112852.md create mode 100644 .history/training/metax/README_20240122112857.md create mode 100644 .history/training/metax/README_20240122112901.md create mode 100644 .history/training/metax/README_20240122112910.md create mode 100644 .history/training/metax/README_20240122112931.md create mode 100644 .history/training/metax/README_20240122112936.md create mode 100644 .history/training/metax/README_20240122112944.md create mode 100644 .history/training/metax/README_20240122112952.md create mode 100644 .history/training/metax/README_20240122113021.md create mode 100644 .history/training/metax/README_20240122113031.md create mode 100644 .history/training/metax/README_20240122113035.md create mode 100644 .history/training/metax/README_20240122113039.md create mode 100644 .history/training/metax/README_20240122113053.md create mode 100644 .history/training/metax/README_20240122113101.md create mode 100644 .history/training/metax/README_20240122113227.md create mode 100644 .history/training/metax/README_20240122113228.md create mode 100644 .history/training/metax/README_20240122113230.md create mode 100644 .history/training/metax/README_20240122113231.md create mode 100644 .history/training/metax/README_20240122113232.md create mode 100644 .history/training/metax/README_20240122113233.md create mode 100644 .history/training/metax/README_20240122113251.md create mode 100644 .history/training/metax/README_20240122113252.md create mode 100644 .history/training/metax/README_20240122120442.md create mode 100644 .history/training/metax/README_20240122122457.md create mode 100644 .history/training/metax/README_20240122122513.md create mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121816 create mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121903 create mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121904 create mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121905 create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122122914.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123311.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123312.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123313.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123314.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123335.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123336.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123632.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123633.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123703.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123725.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123807.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123903.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123904.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123920.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123921.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py create mode 100644 .history/training/metax/metax_monitor_20240122120533.py create mode 100644 .history/training/metax/metax_monitor_20240122120558.py create mode 100644 .history/training/metax/metax_monitor_20240122120616.py create mode 100644 .history/training/metax/metax_monitor_20240122120617.py create mode 100644 .history/training/metax/metax_monitor_20240122120633.py create mode 100644 .history/training/metax/metax_monitor_20240122120634.py create mode 100644 .history/training/metax/metax_monitor_20240122120635.py create mode 100644 .history/training/run_benchmarks/config/test_conf_20240121222426.py create mode 100644 .history/training/run_benchmarks/config/test_conf_20240122121423.py create mode 100644 .history/training/run_benchmarks/config/test_conf_20240122121424.py create mode 100644 .history/training/run_benchmarks/config/test_conf_20240122121534.py create mode 100644 .history/training/run_benchmarks/config/test_conf_20240122122419.py create mode 100644 .history/training/run_benchmarks/config/test_conf_20240122122420.py create mode 100644 training/metax/docker_image/pytorch_2.0/Dockerfile create mode 100644 training/metax/docker_image/pytorch_2.0/pytorch_install.sh create mode 100644 training/metax/faster_rcnn-pytorch/README.md create mode 100644 training/metax/faster_rcnn-pytorch/config/config_A100x1x1.py create mode 100644 training/metax/faster_rcnn-pytorch/config/config_A100x1x8.py create mode 100644 training/metax/faster_rcnn-pytorch/config/requirements.txt create mode 100644 training/metax/faster_rcnn-pytorch/extern/.gitkeep create mode 100644 training/metax/metax_monitor.py diff --git a/.history/training/ascend/README_20240121222426.md b/.history/training/ascend/README_20240121222426.md new file mode 100644 index 000000000..42bfc0752 --- /dev/null +++ b/.history/training/ascend/README_20240121222426.md @@ -0,0 +1,59 @@ +# 厂商信息 + +官网: https://www.hiascend.com/zh/ + +昇腾计算产业生态包括围绕着昇腾计算技术和产品体系所开展的学术、技术、公益及商业活动,产生的知识和产品以及各种合作伙伴,主要包括原始设备制造商OEM、原始设计制造商ODM、 独立硬件开发商IHV、咨询与解决方案集成商C&SI、独立软件开发商ISV、云服务提供商XaaS等。 +同时,昇腾的合作伙伴体系当中还包含围绕昇腾相关产品对外提供服务交付的服务类伙伴,提供培训服务的人才联盟伙伴,提供投融资和运营服务的投融资运营伙伴等。 +昇腾高度重视高校的人才培养和昇腾开发者的发展,让高校和开发者成为整个昇腾生态的重要组成部分。 + +# FlagPerf适配验证环境说明 +## 环境配置参考 + - 硬件 + - 机器型号: + - 多机网络类型、带宽: RoCE,100 Gb/s + - 软件 + - OS版本:Ubuntu 18.04.1 LTS + - OS kernel版本: Linux 4.15.0-29-generic aarch64 + - Docker 版本: 19.03.6 + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:training/ascend/docker_image/\/Dockerfile + - 构建后软件安装脚本: training/ascend/docker_image/\/\_install.sh + +- 核心软件信息 + + - AI框架&版本 + - mindspore: 1.10.0 + + - 其它软件版本 + - cann: 6.3.RC1 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```bash + npu-smi info + ``` +- 监控项示例: + ```bash ++----------------------------------------------------------------------------------------------------+ +| npu-smi 22.0.3 Version: 22.0.3 | ++-------------------+-----------------+--------------------------------------------------------------+ +| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page) | +| Chip Device | Bus-Id | AICore(%) Memory-Usage(MB) | ++===================+=================+==============================================================+ +| 4 910A | OK | NA 43 0 / 970 | +| 0 0 | 0000:81:00.0 | 0 861 / 21534 | ++===================+=================+==============================================================+ + ``` +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | +|---|---|---| +|Temp(C) | ascend_monitor.log | +|AICore(%) |ascend_monitor.log | +|Memory-Usage(MB) |ascend_monitor.log | +|Hugepages-Usage(page) |ascend_monitor.log | +|Power(W) |ascend_monitor.log | \ No newline at end of file diff --git a/.history/training/ascend/README_20240122102708.md b/.history/training/ascend/README_20240122102708.md new file mode 100644 index 000000000..2350afd3c --- /dev/null +++ b/.history/training/ascend/README_20240122102708.md @@ -0,0 +1,60 @@ +# 厂商信息 + +官网: https://www.hiascend.com/zh/ + +昇腾计算产业生态包括围绕着昇腾计算技术和产品体系所开展的学术、技术、公益及商业活动,产生的知识和产品以及各种合作伙伴,主要包括原始设备制造商OEM、原始设计制造商ODM、 独立硬件开发商IHV、咨询与解决方案集成商C&SI、独立软件开发商ISV、云服务提供商XaaS等。 +同时,昇腾的合作伙伴体系当中还包含围绕昇腾相关产品对外提供服务交付的服务类伙伴,提供培训服务的人才联盟伙伴,提供投融资和运营服务的投融资运营伙伴等。 +昇腾高度重视高校的人才培养和昇腾开发者的发展,让高校和开发者成为整个昇腾生态的重要组成部分。 + +# FlagPerf适配验证环境说明 +## 环境配置参考 + - 硬件 + - 机器型号: + - 多机网络类型、带宽: RoCE,100 Gb/s + - 软件 + - OS版本:Ubuntu 18.04.1 LTS + - OS kernel版本: Linux 4.15.0-29-generic aarch64 + - Docker 版本: 19.03.6 + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:training/ascend/docker_image/\/Dockerfile + - 构建后软件安装脚本: training/ascend/docker_image/\/\_install.sh + +- 核心软件信息 + + - AI框架&版本 + - mindspore: 1.10.0 + + - 其它软件版本 + - cann: 6.3.RC1 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```bash + npu-smi info + ``` +- 监控项示例: + ```bash ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12 Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | +|---|---|---| +|Temp(C) | ascend_monitor.log | +|AICore(%) |ascend_monitor.log | +|Memory-Usage(MB) |ascend_monitor.log | +|Hugepages-Usage(page) |ascend_monitor.log | +|Power(W) |ascend_monitor.log | \ No newline at end of file diff --git a/.history/training/ascend/README_20240122102716.md b/.history/training/ascend/README_20240122102716.md new file mode 100644 index 000000000..42bfc0752 --- /dev/null +++ b/.history/training/ascend/README_20240122102716.md @@ -0,0 +1,59 @@ +# 厂商信息 + +官网: https://www.hiascend.com/zh/ + +昇腾计算产业生态包括围绕着昇腾计算技术和产品体系所开展的学术、技术、公益及商业活动,产生的知识和产品以及各种合作伙伴,主要包括原始设备制造商OEM、原始设计制造商ODM、 独立硬件开发商IHV、咨询与解决方案集成商C&SI、独立软件开发商ISV、云服务提供商XaaS等。 +同时,昇腾的合作伙伴体系当中还包含围绕昇腾相关产品对外提供服务交付的服务类伙伴,提供培训服务的人才联盟伙伴,提供投融资和运营服务的投融资运营伙伴等。 +昇腾高度重视高校的人才培养和昇腾开发者的发展,让高校和开发者成为整个昇腾生态的重要组成部分。 + +# FlagPerf适配验证环境说明 +## 环境配置参考 + - 硬件 + - 机器型号: + - 多机网络类型、带宽: RoCE,100 Gb/s + - 软件 + - OS版本:Ubuntu 18.04.1 LTS + - OS kernel版本: Linux 4.15.0-29-generic aarch64 + - Docker 版本: 19.03.6 + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:training/ascend/docker_image/\/Dockerfile + - 构建后软件安装脚本: training/ascend/docker_image/\/\_install.sh + +- 核心软件信息 + + - AI框架&版本 + - mindspore: 1.10.0 + + - 其它软件版本 + - cann: 6.3.RC1 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```bash + npu-smi info + ``` +- 监控项示例: + ```bash ++----------------------------------------------------------------------------------------------------+ +| npu-smi 22.0.3 Version: 22.0.3 | ++-------------------+-----------------+--------------------------------------------------------------+ +| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page) | +| Chip Device | Bus-Id | AICore(%) Memory-Usage(MB) | ++===================+=================+==============================================================+ +| 4 910A | OK | NA 43 0 / 970 | +| 0 0 | 0000:81:00.0 | 0 861 / 21534 | ++===================+=================+==============================================================+ + ``` +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | +|---|---|---| +|Temp(C) | ascend_monitor.log | +|AICore(%) |ascend_monitor.log | +|Memory-Usage(MB) |ascend_monitor.log | +|Hugepages-Usage(page) |ascend_monitor.log | +|Power(W) |ascend_monitor.log | \ No newline at end of file diff --git a/.history/training/metax/README_20240122095833.md b/.history/training/metax/README_20240122095833.md new file mode 100644 index 000000000..c8eb6dbc0 --- /dev/null +++ b/.history/training/metax/README_20240122095833.md @@ -0,0 +1,74 @@ +# 厂商信息 +昆仑芯(北京)科技有限公司前身为百度智能芯片及架构部,于2021年4月完成独立融资,首轮估值约130亿元。公司团队在国内最早布局AI加速领域,深耕十余年,是一家在体系结构、芯片实现、软件系统和场景应用均有深厚积累的AI芯片企业。 + +R480-X8是昆仑芯推出的一款基于2代芯片的的AI加速器组,其采用一块通用基板R480,搭载8颗昆仑芯AI加速模块R300。R480是一款符合OAI(Open Accelerator Infrastructure)系列技术标准的通用基板,R300可基于R480通用基板实现芯片间互联,并且在单节点内8个芯片可组成2个通信环路,提供200GB/s片间互联双向聚合带宽。 +R480-X8基于多芯片间高速互联技术,单机可提供高达1 Peta Ops @FP16的AI算力和256G显存,聚合通信带宽高达200GBps,可构建大规模并行计算集群,支持大型模型训练和推理需求。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: 昆仑芯AI加速器组R480-X8 + - 加速卡型号: 昆仑芯AI加速卡R300 + - 多机网络类型、带宽: InfiniBand,200Gb/s + +- 软件 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:4.0.25 + - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 + - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 + - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 + - 依赖软件版本:pytorch-1.12.1+cpu + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile + - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122100022.md b/.history/training/metax/README_20240122100022.md new file mode 100644 index 000000000..1983acfc3 --- /dev/null +++ b/.history/training/metax/README_20240122100022.md @@ -0,0 +1,76 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: 昆仑芯AI加速器组R480-X8 + - 加速卡型号: 昆仑芯AI加速卡R300 + - 多机网络类型、带宽: InfiniBand,200Gb/s + +- 软件 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:4.0.25 + - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 + - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 + - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 + - 依赖软件版本:pytorch-1.12.1+cpu + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile + - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122100023.md b/.history/training/metax/README_20240122100023.md new file mode 100644 index 000000000..1983acfc3 --- /dev/null +++ b/.history/training/metax/README_20240122100023.md @@ -0,0 +1,76 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: 昆仑芯AI加速器组R480-X8 + - 加速卡型号: 昆仑芯AI加速卡R300 + - 多机网络类型、带宽: InfiniBand,200Gb/s + +- 软件 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:4.0.25 + - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 + - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 + - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 + - 依赖软件版本:pytorch-1.12.1+cpu + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile + - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122100024.md b/.history/training/metax/README_20240122100024.md new file mode 100644 index 000000000..1983acfc3 --- /dev/null +++ b/.history/training/metax/README_20240122100024.md @@ -0,0 +1,76 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: 昆仑芯AI加速器组R480-X8 + - 加速卡型号: 昆仑芯AI加速卡R300 + - 多机网络类型、带宽: InfiniBand,200Gb/s + +- 软件 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:4.0.25 + - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 + - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 + - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 + - 依赖软件版本:pytorch-1.12.1+cpu + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile + - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122100652.md b/.history/training/metax/README_20240122100652.md new file mode 100644 index 000000000..2f2caa743 --- /dev/null +++ b/.history/training/metax/README_20240122100652.md @@ -0,0 +1,76 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:4.0.25 + - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 + - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 + - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 + - 依赖软件版本:pytorch-1.12.1+cpu + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile + - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122101536.md b/.history/training/metax/README_20240122101536.md new file mode 100644 index 000000000..23c5384af --- /dev/null +++ b/.history/training/metax/README_20240122101536.md @@ -0,0 +1,74 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile + - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122101537.md b/.history/training/metax/README_20240122101537.md new file mode 100644 index 000000000..23c5384af --- /dev/null +++ b/.history/training/metax/README_20240122101537.md @@ -0,0 +1,74 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile + - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122101841.md b/.history/training/metax/README_20240122101841.md new file mode 100644 index 000000000..85c8c5d6a --- /dev/null +++ b/.history/training/metax/README_20240122101841.md @@ -0,0 +1,74 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122101842.md b/.history/training/metax/README_20240122101842.md new file mode 100644 index 000000000..85c8c5d6a --- /dev/null +++ b/.history/training/metax/README_20240122101842.md @@ -0,0 +1,74 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&版本 + + torch: pytorch-1.12.1+cpu + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' + ``` +- 监控项示例: + ```shell + 37C 74W 0MiB 32768MiB 0% + 40C 114W 28653MiB 32768MiB 94% + 34C 74W 0MiB 32768MiB 0% + 37C 71W 0MiB 32768MiB 0% + 43C 99W 28934MiB 32768MiB 99% + 39C 74W 0MiB 32768MiB 0% + 46C 114W 23730MiB 32768MiB 100% + 38C 73W 0MiB 32768MiB 0% + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122102846.md b/.history/training/metax/README_20240122102846.md new file mode 100644 index 000000000..5cceafbd0 --- /dev/null +++ b/.history/training/metax/README_20240122102846.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12 Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122102847.md b/.history/training/metax/README_20240122102847.md new file mode 100644 index 000000000..5cceafbd0 --- /dev/null +++ b/.history/training/metax/README_20240122102847.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12 Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103442.md b/.history/training/metax/README_20240122103442.md new file mode 100644 index 000000000..9f7dbbfef --- /dev/null +++ b/.history/training/metax/README_20240122103442.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12  Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103449.md b/.history/training/metax/README_20240122103449.md new file mode 100644 index 000000000..40f0ff7b9 --- /dev/null +++ b/.history/training/metax/README_20240122103449.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103456.md b/.history/training/metax/README_20240122103456.md new file mode 100644 index 000000000..40f0ff7b9 --- /dev/null +++ b/.history/training/metax/README_20240122103456.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103501.md b/.history/training/metax/README_20240122103501.md new file mode 100644 index 000000000..9c1efe20e --- /dev/null +++ b/.history/training/metax/README_20240122103501.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12                Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103502.md b/.history/training/metax/README_20240122103502.md new file mode 100644 index 000000000..9c1efe20e --- /dev/null +++ b/.history/training/metax/README_20240122103502.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12                Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103505.md b/.history/training/metax/README_20240122103505.md new file mode 100644 index 000000000..f2b33db7c --- /dev/null +++ b/.history/training/metax/README_20240122103505.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12                    Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103510.md b/.history/training/metax/README_20240122103510.md new file mode 100644 index 000000000..820e88f8f --- /dev/null +++ b/.history/training/metax/README_20240122103510.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +| MX-SMI 2.0.12                  Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103659.md b/.history/training/metax/README_20240122103659.md new file mode 100644 index 000000000..2282d1fb0 --- /dev/null +++ b/.history/training/metax/README_20240122103659.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12                Kernel Mode Driver Version: 2.2.0 | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103724.md b/.history/training/metax/README_20240122103724.md new file mode 100644 index 000000000..96fa9f89e --- /dev/null +++ b/.history/training/metax/README_20240122103724.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +| MACA Version: 2.0 BIOS Version: 1.0.102.0 | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103814.md b/.history/training/metax/README_20240122103814.md new file mode 100644 index 000000000..f72fac1f0 --- /dev/null +++ b/.history/training/metax/README_20240122103814.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0         BIOS Version: 1.0.102.0      | +|------------------------------------+---------------------+----------------------+ +| GPU NAME | Bus-id | GPU-Util | +| Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122103956.md b/.history/training/metax/README_20240122103956.md new file mode 100644 index 000000000..b463bc66c --- /dev/null +++ b/.history/training/metax/README_20240122103956.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0         BIOS Version: 1.0.102.0      | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104013.md b/.history/training/metax/README_20240122104013.md new file mode 100644 index 000000000..0c473d475 --- /dev/null +++ b/.history/training/metax/README_20240122104013.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0                BIOS Version: 1.0.102.0      | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104021.md b/.history/training/metax/README_20240122104021.md new file mode 100644 index 000000000..cc84a0a1a --- /dev/null +++ b/.history/training/metax/README_20240122104021.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0      | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104027.md b/.history/training/metax/README_20240122104027.md new file mode 100644 index 000000000..b8b3ac3ff --- /dev/null +++ b/.history/training/metax/README_20240122104027.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0      | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104031.md b/.history/training/metax/README_20240122104031.md new file mode 100644 index 000000000..94e84b8f7 --- /dev/null +++ b/.history/training/metax/README_20240122104031.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0      | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104045.md b/.history/training/metax/README_20240122104045.md new file mode 100644 index 000000000..a6c60186a --- /dev/null +++ b/.history/training/metax/README_20240122104045.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0       | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104052.md b/.history/training/metax/README_20240122104052.md new file mode 100644 index 000000000..763da6d40 --- /dev/null +++ b/.history/training/metax/README_20240122104052.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104053.md b/.history/training/metax/README_20240122104053.md new file mode 100644 index 000000000..763da6d40 --- /dev/null +++ b/.history/training/metax/README_20240122104053.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104102.md b/.history/training/metax/README_20240122104102.md new file mode 100644 index 000000000..4c86f00e8 --- /dev/null +++ b/.history/training/metax/README_20240122104102.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104111.md b/.history/training/metax/README_20240122104111.md new file mode 100644 index 000000000..15502d8f2 --- /dev/null +++ b/.history/training/metax/README_20240122104111.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104123.md b/.history/training/metax/README_20240122104123.md new file mode 100644 index 000000000..93d68250b --- /dev/null +++ b/.history/training/metax/README_20240122104123.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12            Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104245.md b/.history/training/metax/README_20240122104245.md new file mode 100644 index 000000000..694f07aa9 --- /dev/null +++ b/.history/training/metax/README_20240122104245.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12            Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104258.md b/.history/training/metax/README_20240122104258.md new file mode 100644 index 000000000..bcfcd065e --- /dev/null +++ b/.history/training/metax/README_20240122104258.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104259.md b/.history/training/metax/README_20240122104259.md new file mode 100644 index 000000000..bcfcd065e --- /dev/null +++ b/.history/training/metax/README_20240122104259.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104319.md b/.history/training/metax/README_20240122104319.md new file mode 100644 index 000000000..65f4bf6ca --- /dev/null +++ b/.history/training/metax/README_20240122104319.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104329.md b/.history/training/metax/README_20240122104329.md new file mode 100644 index 000000000..5480167be --- /dev/null +++ b/.history/training/metax/README_20240122104329.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104332.md b/.history/training/metax/README_20240122104332.md new file mode 100644 index 000000000..e4f87cef2 --- /dev/null +++ b/.history/training/metax/README_20240122104332.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU NAME | Bus-id | GPU-Util | +|  Temp Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104402.md b/.history/training/metax/README_20240122104402.md new file mode 100644 index 000000000..61b35725f --- /dev/null +++ b/.history/training/metax/README_20240122104402.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU  NAME | Bus-id | GPU-Util | +|  Temp  Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104431.md b/.history/training/metax/README_20240122104431.md new file mode 100644 index 000000000..a06a1f83e --- /dev/null +++ b/.history/training/metax/README_20240122104431.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU   NAME | Bus-id | GPU-Util | +|  Temp  Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104432.md b/.history/training/metax/README_20240122104432.md new file mode 100644 index 000000000..a06a1f83e --- /dev/null +++ b/.history/training/metax/README_20240122104432.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU   NAME | Bus-id | GPU-Util | +|  Temp  Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104442.md b/.history/training/metax/README_20240122104442.md new file mode 100644 index 000000000..e33f13f88 --- /dev/null +++ b/.history/training/metax/README_20240122104442.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME | Bus-id | GPU-Util | +|  Temp  Power | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104500.md b/.history/training/metax/README_20240122104500.md new file mode 100644 index 000000000..1e0b99706 --- /dev/null +++ b/.history/training/metax/README_20240122104500.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME     | Bus-id | GPU-Util | +|  Temp  Power    | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122104633.md b/.history/training/metax/README_20240122104633.md new file mode 100644 index 000000000..1e0b99706 --- /dev/null +++ b/.history/training/metax/README_20240122104633.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME     | Bus-id | GPU-Util | +|  Temp  Power    | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122105735.md b/.history/training/metax/README_20240122105735.md new file mode 100644 index 000000000..e29ed3b63 --- /dev/null +++ b/.history/training/metax/README_20240122105735.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-id | GPU-Util | +|  Temp  Power          | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122105736.md b/.history/training/metax/README_20240122105736.md new file mode 100644 index 000000000..e29ed3b63 --- /dev/null +++ b/.history/training/metax/README_20240122105736.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-id | GPU-Util | +|  Temp  Power          | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122110105.md b/.history/training/metax/README_20240122110105.md new file mode 100644 index 000000000..494b592e5 --- /dev/null +++ b/.history/training/metax/README_20240122110105.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-id | GPU-Util | +|  Temp  Power          | Memory-Usage | | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122110124.md b/.history/training/metax/README_20240122110124.md new file mode 100644 index 000000000..39b9c2c83 --- /dev/null +++ b/.history/training/metax/README_20240122110124.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util | +|  Temp  Power          | Memory-Usage      | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122110125.md b/.history/training/metax/README_20240122110125.md new file mode 100644 index 000000000..39b9c2c83 --- /dev/null +++ b/.history/training/metax/README_20240122110125.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util | +|  Temp  Power          | Memory-Usage      | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122110203.md b/.history/training/metax/README_20240122110203.md new file mode 100644 index 000000000..11990fcae --- /dev/null +++ b/.history/training/metax/README_20240122110203.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util    | +|  Temp  Power          | Memory-Usage         | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111158.md b/.history/training/metax/README_20240122111158.md new file mode 100644 index 000000000..647ac31c3 --- /dev/null +++ b/.history/training/metax/README_20240122111158.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage         | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111159.md b/.history/training/metax/README_20240122111159.md new file mode 100644 index 000000000..647ac31c3 --- /dev/null +++ b/.history/training/metax/README_20240122111159.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage         | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111214.md b/.history/training/metax/README_20240122111214.md new file mode 100644 index 000000000..e24a3b60e --- /dev/null +++ b/.history/training/metax/README_20240122111214.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage         | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111215.md b/.history/training/metax/README_20240122111215.md new file mode 100644 index 000000000..e24a3b60e --- /dev/null +++ b/.history/training/metax/README_20240122111215.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage         | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111220.md b/.history/training/metax/README_20240122111220.md new file mode 100644 index 000000000..c1471269d --- /dev/null +++ b/.history/training/metax/README_20240122111220.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage           | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111224.md b/.history/training/metax/README_20240122111224.md new file mode 100644 index 000000000..63ae9b16b --- /dev/null +++ b/.history/training/metax/README_20240122111224.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage            | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111257.md b/.history/training/metax/README_20240122111257.md new file mode 100644 index 000000000..69189160d --- /dev/null +++ b/.history/training/metax/README_20240122111257.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage     |       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111316.md b/.history/training/metax/README_20240122111316.md new file mode 100644 index 000000000..9bf09ef9f --- /dev/null +++ b/.history/training/metax/README_20240122111316.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage  &emsp|       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111326.md b/.history/training/metax/README_20240122111326.md new file mode 100644 index 000000000..56a3f2837 --- /dev/null +++ b/.history/training/metax/README_20240122111326.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage  |       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111333.md b/.history/training/metax/README_20240122111333.md new file mode 100644 index 000000000..0c92bd01c --- /dev/null +++ b/.history/training/metax/README_20240122111333.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage |       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111334.md b/.history/training/metax/README_20240122111334.md new file mode 100644 index 000000000..0c92bd01c --- /dev/null +++ b/.history/training/metax/README_20240122111334.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i     | GPU-Util     | +|  Temp  Power          | Memory-Usage |       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111356.md b/.history/training/metax/README_20240122111356.md new file mode 100644 index 000000000..da35a7ef8 --- /dev/null +++ b/.history/training/metax/README_20240122111356.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i        | GPU-Util     | +|  Temp  Power          | Memory-Usage ;   |       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111403.md b/.history/training/metax/README_20240122111403.md new file mode 100644 index 000000000..9522ac4fa --- /dev/null +++ b/.history/training/metax/README_20240122111403.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i        | GPU-Util     | +|  Temp  Power          | Memory-Usage    |       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122111404.md b/.history/training/metax/README_20240122111404.md new file mode 100644 index 000000000..9522ac4fa --- /dev/null +++ b/.history/training/metax/README_20240122111404.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i        | GPU-Util     | +|  Temp  Power          | Memory-Usage    |       | +|====================================+=====================+======================| +| 0 MXC500 | 0000:1b:00.0 | 0% | +| 35C 56W | 914/65536 MiB | | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112025.md b/.history/training/metax/README_20240122112025.md new file mode 100644 index 000000000..7a7387200 --- /dev/null +++ b/.history/training/metax/README_20240122112025.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i        | GPU-Util     | +|  Temp  Power          | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112059.md b/.history/training/metax/README_20240122112059.md new file mode 100644 index 000000000..07967e48a --- /dev/null +++ b/.history/training/metax/README_20240122112059.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i        | GPU-Util     | +|  Temp  Power          | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112100.md b/.history/training/metax/README_20240122112100.md new file mode 100644 index 000000000..07967e48a --- /dev/null +++ b/.history/training/metax/README_20240122112100.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME         | Bus-i        | GPU-Util     | +|  Temp  Power          | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112126.md b/.history/training/metax/README_20240122112126.md new file mode 100644 index 000000000..3254838ae --- /dev/null +++ b/.history/training/metax/README_20240122112126.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       &emsp| Bus-i        | GPU-Util     | +|  Temp  Power        | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112133.md b/.history/training/metax/README_20240122112133.md new file mode 100644 index 000000000..a2d77af7e --- /dev/null +++ b/.history/training/metax/README_20240122112133.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i        | GPU-Util     | +|  Temp  Power        | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112141.md b/.history/training/metax/README_20240122112141.md new file mode 100644 index 000000000..1f5301d4d --- /dev/null +++ b/.history/training/metax/README_20240122112141.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i        | GPU-Util     | +|  Temp  Power       | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112156.md b/.history/training/metax/README_20240122112156.md new file mode 100644 index 000000000..b42b9dbd7 --- /dev/null +++ b/.history/training/metax/README_20240122112156.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i      | GPU-Util     | +|  Temp  Power       | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112207.md b/.history/training/metax/README_20240122112207.md new file mode 100644 index 000000000..c81543c29 --- /dev/null +++ b/.history/training/metax/README_20240122112207.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112222.md b/.history/training/metax/README_20240122112222.md new file mode 100644 index 000000000..3d532d47f --- /dev/null +++ b/.history/training/metax/README_20240122112222.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage  |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112229.md b/.history/training/metax/README_20240122112229.md new file mode 100644 index 000000000..d583d7ada --- /dev/null +++ b/.history/training/metax/README_20240122112229.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112237.md b/.history/training/metax/README_20240122112237.md new file mode 100644 index 000000000..1f3ea12e0 --- /dev/null +++ b/.history/training/metax/README_20240122112237.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage   |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112242.md b/.history/training/metax/README_20240122112242.md new file mode 100644 index 000000000..67b374d9a --- /dev/null +++ b/.history/training/metax/README_20240122112242.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage    |       | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112251.md b/.history/training/metax/README_20240122112251.md new file mode 100644 index 000000000..497376e1d --- /dev/null +++ b/.history/training/metax/README_20240122112251.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage    |         | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112255.md b/.history/training/metax/README_20240122112255.md new file mode 100644 index 000000000..744aaf61a --- /dev/null +++ b/.history/training/metax/README_20240122112255.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage    |           | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112259.md b/.history/training/metax/README_20240122112259.md new file mode 100644 index 000000000..b9fd25b82 --- /dev/null +++ b/.history/training/metax/README_20240122112259.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage    |             | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112310.md b/.history/training/metax/README_20240122112310.md new file mode 100644 index 000000000..dcae8d81f --- /dev/null +++ b/.history/training/metax/README_20240122112310.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage    |           | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112311.md b/.history/training/metax/README_20240122112311.md new file mode 100644 index 000000000..dcae8d81f --- /dev/null +++ b/.history/training/metax/README_20240122112311.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util     | +|  Temp  Power       | Memory-Usage    |           | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112413.md b/.history/training/metax/README_20240122112413.md new file mode 100644 index 000000000..9b56568e3 --- /dev/null +++ b/.history/training/metax/README_20240122112413.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112414.md b/.history/training/metax/README_20240122112414.md new file mode 100644 index 000000000..9b56568e3 --- /dev/null +++ b/.history/training/metax/README_20240122112414.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112436.md b/.history/training/metax/README_20240122112436.md new file mode 100644 index 000000000..5d696e3b9 --- /dev/null +++ b/.history/training/metax/README_20240122112436.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|====================================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112443.md b/.history/training/metax/README_20240122112443.md new file mode 100644 index 000000000..4a61703eb --- /dev/null +++ b/.history/training/metax/README_20240122112443.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=======================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112448.md b/.history/training/metax/README_20240122112448.md new file mode 100644 index 000000000..50db8589e --- /dev/null +++ b/.history/training/metax/README_20240122112448.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+=====================+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112454.md b/.history/training/metax/README_20240122112454.md new file mode 100644 index 000000000..bc72bdcaa --- /dev/null +++ b/.history/training/metax/README_20240122112454.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+==============+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112458.md b/.history/training/metax/README_20240122112458.md new file mode 100644 index 000000000..7bacda950 --- /dev/null +++ b/.history/training/metax/README_20240122112458.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+=============+======================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112506.md b/.history/training/metax/README_20240122112506.md new file mode 100644 index 000000000..6745a5fd1 --- /dev/null +++ b/.history/training/metax/README_20240122112506.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+=============+====================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112507.md b/.history/training/metax/README_20240122112507.md new file mode 100644 index 000000000..6745a5fd1 --- /dev/null +++ b/.history/training/metax/README_20240122112507.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+=============+====================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112512.md b/.history/training/metax/README_20240122112512.md new file mode 100644 index 000000000..53dac2298 --- /dev/null +++ b/.history/training/metax/README_20240122112512.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+====================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112521.md b/.history/training/metax/README_20240122112521.md new file mode 100644 index 000000000..e5b91e924 --- /dev/null +++ b/.history/training/metax/README_20240122112521.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+================| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112524.md b/.history/training/metax/README_20240122112524.md new file mode 100644 index 000000000..3f6a7cff5 --- /dev/null +++ b/.history/training/metax/README_20240122112524.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112525.md b/.history/training/metax/README_20240122112525.md new file mode 100644 index 000000000..3f6a7cff5 --- /dev/null +++ b/.history/training/metax/README_20240122112525.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112528.md b/.history/training/metax/README_20240122112528.md new file mode 100644 index 000000000..a54c81080 --- /dev/null +++ b/.history/training/metax/README_20240122112528.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+=============| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112533.md b/.history/training/metax/README_20240122112533.md new file mode 100644 index 000000000..3f6a7cff5 --- /dev/null +++ b/.history/training/metax/README_20240122112533.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112534.md b/.history/training/metax/README_20240122112534.md new file mode 100644 index 000000000..3f6a7cff5 --- /dev/null +++ b/.history/training/metax/README_20240122112534.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +| 0    MXC500     | 0000:1b:00.0     | 0%     | +| 35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112544.md b/.history/training/metax/README_20240122112544.md new file mode 100644 index 000000000..cb5e41e73 --- /dev/null +++ b/.history/training/metax/README_20240122112544.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500     | 0000:1b:00.0     | 0%     | +|  35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112545.md b/.history/training/metax/README_20240122112545.md new file mode 100644 index 000000000..cb5e41e73 --- /dev/null +++ b/.history/training/metax/README_20240122112545.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500     | 0000:1b:00.0     | 0%     | +|  35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112606.md b/.history/training/metax/README_20240122112606.md new file mode 100644 index 000000000..c3d6e5e48 --- /dev/null +++ b/.history/training/metax/README_20240122112606.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500       | 0000:1b:00.0     | 0%     | +|  35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112719.md b/.history/training/metax/README_20240122112719.md new file mode 100644 index 000000000..21f930513 --- /dev/null +++ b/.history/training/metax/README_20240122112719.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C     56W     | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112724.md b/.history/training/metax/README_20240122112724.md new file mode 100644 index 000000000..16c57af63 --- /dev/null +++ b/.history/training/metax/README_20240122112724.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C     56W       | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112727.md b/.history/training/metax/README_20240122112727.md new file mode 100644 index 000000000..f3262717e --- /dev/null +++ b/.history/training/metax/README_20240122112727.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C     56W         | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112728.md b/.history/training/metax/README_20240122112728.md new file mode 100644 index 000000000..f3262717e --- /dev/null +++ b/.history/training/metax/README_20240122112728.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C     56W         | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112738.md b/.history/training/metax/README_20240122112738.md new file mode 100644 index 000000000..17bd3dbec --- /dev/null +++ b/.history/training/metax/README_20240122112738.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C     56W           | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112742.md b/.history/training/metax/README_20240122112742.md new file mode 100644 index 000000000..1e71f9ec7 --- /dev/null +++ b/.history/training/metax/README_20240122112742.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C    56W           | 914/65536 MiB     |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112752.md b/.history/training/metax/README_20240122112752.md new file mode 100644 index 000000000..6223ec1f8 --- /dev/null +++ b/.history/training/metax/README_20240122112752.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C    56W           | 914/65536 MiB    |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112801.md b/.history/training/metax/README_20240122112801.md new file mode 100644 index 000000000..f7894c4eb --- /dev/null +++ b/.history/training/metax/README_20240122112801.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C    56W           | 914/65536 MiB   |     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112809.md b/.history/training/metax/README_20240122112809.md new file mode 100644 index 000000000..46d8ddb0a --- /dev/null +++ b/.history/training/metax/README_20240122112809.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0     | 0%     | +|  35C    56W           | 914/65536 MiB   |       &thinsp | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112823.md b/.history/training/metax/README_20240122112823.md new file mode 100644 index 000000000..bd3fbe8a9 --- /dev/null +++ b/.history/training/metax/README_20240122112823.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%   | +|  35C    56W           | 914/65536 MiB   |       &thinsp | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112833.md b/.history/training/metax/README_20240122112833.md new file mode 100644 index 000000000..f24ed5830 --- /dev/null +++ b/.history/training/metax/README_20240122112833.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%     | +|  35C    56W           | 914/65536 MiB   |         | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112845.md b/.history/training/metax/README_20240122112845.md new file mode 100644 index 000000000..840fa14cc --- /dev/null +++ b/.history/training/metax/README_20240122112845.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%        | +|  35C    56W           | 914/65536 MiB   |           | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112852.md b/.history/training/metax/README_20240122112852.md new file mode 100644 index 000000000..1cd36a453 --- /dev/null +++ b/.history/training/metax/README_20240122112852.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%           | +|  35C    56W           | 914/65536 MiB   |              | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112857.md b/.history/training/metax/README_20240122112857.md new file mode 100644 index 000000000..cab191b9e --- /dev/null +++ b/.history/training/metax/README_20240122112857.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%              | +|  35C    56W           | 914/65536 MiB   |                 | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112901.md b/.history/training/metax/README_20240122112901.md new file mode 100644 index 000000000..864a9e7f2 --- /dev/null +++ b/.history/training/metax/README_20240122112901.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%                 | +|  35C    56W           | 914/65536 MiB   |                    | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112910.md b/.history/training/metax/README_20240122112910.md new file mode 100644 index 000000000..ef4d57026 --- /dev/null +++ b/.history/training/metax/README_20240122112910.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%               | +|  35C    56W           | 914/65536 MiB   |                  | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112931.md b/.history/training/metax/README_20240122112931.md new file mode 100644 index 000000000..91bf58387 --- /dev/null +++ b/.history/training/metax/README_20240122112931.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%               | +|  35C    56W           | 914/65536 MiB |                  | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112936.md b/.history/training/metax/README_20240122112936.md new file mode 100644 index 000000000..d8c267484 --- /dev/null +++ b/.history/training/metax/README_20240122112936.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%               | +|  35C    56W           | 914/65536 MiB   |                  | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112944.md b/.history/training/metax/README_20240122112944.md new file mode 100644 index 000000000..8cc3c3065 --- /dev/null +++ b/.history/training/metax/README_20240122112944.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0    | 0%               | +|  35C    56W           | 914/65536 MiB       |                  | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122112952.md b/.history/training/metax/README_20240122112952.md new file mode 100644 index 000000000..3f33432ec --- /dev/null +++ b/.history/training/metax/README_20240122112952.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |                  | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113021.md b/.history/training/metax/README_20240122113021.md new file mode 100644 index 000000000..1ec11c9bc --- /dev/null +++ b/.history/training/metax/README_20240122113021.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |                    | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113031.md b/.history/training/metax/README_20240122113031.md new file mode 100644 index 000000000..3f33432ec --- /dev/null +++ b/.history/training/metax/README_20240122113031.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |                  | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113035.md b/.history/training/metax/README_20240122113035.md new file mode 100644 index 000000000..154b71eac --- /dev/null +++ b/.history/training/metax/README_20240122113035.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |                     | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113039.md b/.history/training/metax/README_20240122113039.md new file mode 100644 index 000000000..ef37da936 --- /dev/null +++ b/.history/training/metax/README_20240122113039.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |                       | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113053.md b/.history/training/metax/README_20240122113053.md new file mode 100644 index 000000000..c7c51fa42 --- /dev/null +++ b/.history/training/metax/README_20240122113053.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |              | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113101.md b/.history/training/metax/README_20240122113101.md new file mode 100644 index 000000000..e3bfb2c2a --- /dev/null +++ b/.history/training/metax/README_20240122113101.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| kunlunxin_monitor.log | xxx C | +|功耗 |kunlunxin_monitor.log | xxx W | +|显存占用大小 |kunlunxin_monitor.log |xxx MiB | +|总显存大小 |kunlunxin_monitor.log |xxx MiB | +|显存使用率 |kunlunxin_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113227.md b/.history/training/metax/README_20240122113227.md new file mode 100644 index 000000000..c8fe033d2 --- /dev/null +++ b/.history/training/metax/README_20240122113227.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| nvidia_monitor.log | xxx C | +|功耗 |nvidia_monitor.log | xxx W | +|显存占用大小 |nvidia_monitor.log |xxx MiB | +|总显存大小 |nvidia_monitor.log |xxx MiB | +|显存使用率 |nvidia_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113228.md b/.history/training/metax/README_20240122113228.md new file mode 100644 index 000000000..c8fe033d2 --- /dev/null +++ b/.history/training/metax/README_20240122113228.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| nvidia_monitor.log | xxx C | +|功耗 |nvidia_monitor.log | xxx W | +|显存占用大小 |nvidia_monitor.log |xxx MiB | +|总显存大小 |nvidia_monitor.log |xxx MiB | +|显存使用率 |nvidia_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113230.md b/.history/training/metax/README_20240122113230.md new file mode 100644 index 000000000..c8fe033d2 --- /dev/null +++ b/.history/training/metax/README_20240122113230.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| nvidia_monitor.log | xxx C | +|功耗 |nvidia_monitor.log | xxx W | +|显存占用大小 |nvidia_monitor.log |xxx MiB | +|总显存大小 |nvidia_monitor.log |xxx MiB | +|显存使用率 |nvidia_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113231.md b/.history/training/metax/README_20240122113231.md new file mode 100644 index 000000000..c8fe033d2 --- /dev/null +++ b/.history/training/metax/README_20240122113231.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| nvidia_monitor.log | xxx C | +|功耗 |nvidia_monitor.log | xxx W | +|显存占用大小 |nvidia_monitor.log |xxx MiB | +|总显存大小 |nvidia_monitor.log |xxx MiB | +|显存使用率 |nvidia_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113232.md b/.history/training/metax/README_20240122113232.md new file mode 100644 index 000000000..c8fe033d2 --- /dev/null +++ b/.history/training/metax/README_20240122113232.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| nvidia_monitor.log | xxx C | +|功耗 |nvidia_monitor.log | xxx W | +|显存占用大小 |nvidia_monitor.log |xxx MiB | +|总显存大小 |nvidia_monitor.log |xxx MiB | +|显存使用率 |nvidia_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113233.md b/.history/training/metax/README_20240122113233.md new file mode 100644 index 000000000..c8fe033d2 --- /dev/null +++ b/.history/training/metax/README_20240122113233.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| nvidia_monitor.log | xxx C | +|功耗 |nvidia_monitor.log | xxx W | +|显存占用大小 |nvidia_monitor.log |xxx MiB | +|总显存大小 |nvidia_monitor.log |xxx MiB | +|显存使用率 |nvidia_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113251.md b/.history/training/metax/README_20240122113251.md new file mode 100644 index 000000000..c5972cdbe --- /dev/null +++ b/.history/training/metax/README_20240122113251.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122113252.md b/.history/training/metax/README_20240122113252.md new file mode 100644 index 000000000..c5972cdbe --- /dev/null +++ b/.history/training/metax/README_20240122113252.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ```shell ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + ``` + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122120442.md b/.history/training/metax/README_20240122120442.md new file mode 100644 index 000000000..0508f7844 --- /dev/null +++ b/.history/training/metax/README_20240122120442.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122122457.md b/.history/training/metax/README_20240122122457.md new file mode 100644 index 000000000..54736dcac --- /dev/null +++ b/.history/training/metax/README_20240122122457.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122122513.md b/.history/training/metax/README_20240122122513.md new file mode 100644 index 000000000..21205be75 --- /dev/null +++ b/.history/training/metax/README_20240122122513.md @@ -0,0 +1,77 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121816 b/.history/training/metax/docker_image/Dockerfile_20240122121816 new file mode 100644 index 000000000..e69de29bb diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121903 b/.history/training/metax/docker_image/Dockerfile_20240122121903 new file mode 100644 index 000000000..476c1448a --- /dev/null +++ b/.history/training/metax/docker_image/Dockerfile_20240122121903 @@ -0,0 +1,3 @@ +FROM maca-2.18.0.8-ubuntu18.04-amd64:FlagPerf-base-v1 +ENV PATH="/opt/conda/bin:${PATH}" +RUN /bin/bash -c "uname -a" \ No newline at end of file diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121904 b/.history/training/metax/docker_image/Dockerfile_20240122121904 new file mode 100644 index 000000000..476c1448a --- /dev/null +++ b/.history/training/metax/docker_image/Dockerfile_20240122121904 @@ -0,0 +1,3 @@ +FROM maca-2.18.0.8-ubuntu18.04-amd64:FlagPerf-base-v1 +ENV PATH="/opt/conda/bin:${PATH}" +RUN /bin/bash -c "uname -a" \ No newline at end of file diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121905 b/.history/training/metax/docker_image/Dockerfile_20240122121905 new file mode 100644 index 000000000..476c1448a --- /dev/null +++ b/.history/training/metax/docker_image/Dockerfile_20240122121905 @@ -0,0 +1,3 @@ +FROM maca-2.18.0.8-ubuntu18.04-amd64:FlagPerf-base-v1 +ENV PATH="/opt/conda/bin:${PATH}" +RUN /bin/bash -c "uname -a" \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122122914.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122122914.md new file mode 100644 index 000000000..c1698b842 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122122914.md @@ -0,0 +1,57 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123311.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123311.md new file mode 100644 index 000000000..eee534bf0 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123311.md @@ -0,0 +1,56 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123312.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123312.md new file mode 100644 index 000000000..eee534bf0 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123312.md @@ -0,0 +1,56 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123313.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123313.md new file mode 100644 index 000000000..eee534bf0 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123313.md @@ -0,0 +1,56 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123314.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123314.md new file mode 100644 index 000000000..eee534bf0 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123314.md @@ -0,0 +1,56 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123335.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123335.md new file mode 100644 index 000000000..0209b54af --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123335.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123336.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123336.md new file mode 100644 index 000000000..0209b54af --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123336.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123632.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123632.md new file mode 100644 index 000000000..157007b2f --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123632.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123633.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123633.md new file mode 100644 index 000000000..157007b2f --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123633.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123703.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123703.md new file mode 100644 index 000000000..5211e7761 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123703.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123725.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123725.md new file mode 100644 index 000000000..5266e462e --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123725.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MX-C500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123807.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123807.md new file mode 100644 index 000000000..21a9c73b4 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123807.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123903.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123903.md new file mode 100644 index 000000000..e3d8c77db --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123903.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| MXC500两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123904.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123904.md new file mode 100644 index 000000000..e3d8c77db --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123904.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| MXC500两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123920.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123920.md new file mode 100644 index 000000000..405f9c77a --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123920.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123921.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123921.md new file mode 100644 index 000000000..405f9c77a --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122123921.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py new file mode 100644 index 000000000..5d1b75231 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py @@ -0,0 +1,4 @@ +vendor: str = "nvidia" +train_batch_size = 16 +eval_batch_size = 16 +lr = 0.16 \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py new file mode 100644 index 000000000..c11690f00 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py @@ -0,0 +1,4 @@ +vendor: str = "metax" +train_batch_size = 16 +eval_batch_size = 16 +lr = 0.16 \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py new file mode 100644 index 000000000..8bf845570 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py @@ -0,0 +1,4 @@ +vendor: str = "metax" +train_batch_size = 16 +eval_batch_size = 16 +lr = 0.16 diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py new file mode 100644 index 000000000..c11690f00 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py @@ -0,0 +1,4 @@ +vendor: str = "metax" +train_batch_size = 16 +eval_batch_size = 16 +lr = 0.16 \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py new file mode 100644 index 000000000..8059dd7c6 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py @@ -0,0 +1,3 @@ +vendor: str = "nvidia" +train_batch_size = 2 +eval_batch_size = 2 diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py new file mode 100644 index 000000000..842eda4bc --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py @@ -0,0 +1,3 @@ +vendor: str = "metax" +train_batch_size = 2 +eval_batch_size = 2 diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py new file mode 100644 index 000000000..842eda4bc --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py @@ -0,0 +1,3 @@ +vendor: str = "metax" +train_batch_size = 2 +eval_batch_size = 2 diff --git a/.history/training/metax/metax_monitor_20240122120533.py b/.history/training/metax/metax_monitor_20240122120533.py new file mode 100644 index 000000000..0790f919f --- /dev/null +++ b/.history/training/metax/metax_monitor_20240122120533.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "nvidia-smi |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"nvidia-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"nvidia-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/nvidia_monitor.log') + err_fn = str(log_path + '/nvidia_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/nvidia_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/.history/training/metax/metax_monitor_20240122120558.py b/.history/training/metax/metax_monitor_20240122120558.py new file mode 100644 index 000000000..be32fcb0a --- /dev/null +++ b/.history/training/metax/metax_monitor_20240122120558.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"nvidia-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"nvidia-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/nvidia_monitor.log') + err_fn = str(log_path + '/nvidia_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/nvidia_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/.history/training/metax/metax_monitor_20240122120616.py b/.history/training/metax/metax_monitor_20240122120616.py new file mode 100644 index 000000000..6bce9e203 --- /dev/null +++ b/.history/training/metax/metax_monitor_20240122120616.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"mx-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/nvidia_monitor.log') + err_fn = str(log_path + '/nvidia_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/nvidia_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/.history/training/metax/metax_monitor_20240122120617.py b/.history/training/metax/metax_monitor_20240122120617.py new file mode 100644 index 000000000..6bce9e203 --- /dev/null +++ b/.history/training/metax/metax_monitor_20240122120617.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"mx-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/nvidia_monitor.log') + err_fn = str(log_path + '/nvidia_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/nvidia_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/.history/training/metax/metax_monitor_20240122120633.py b/.history/training/metax/metax_monitor_20240122120633.py new file mode 100644 index 000000000..a8d745822 --- /dev/null +++ b/.history/training/metax/metax_monitor_20240122120633.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"mx-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/mx-smi_monitor.log') + err_fn = str(log_path + '/mx-smi_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/mx-smi_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/.history/training/metax/metax_monitor_20240122120634.py b/.history/training/metax/metax_monitor_20240122120634.py new file mode 100644 index 000000000..a8d745822 --- /dev/null +++ b/.history/training/metax/metax_monitor_20240122120634.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"mx-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/mx-smi_monitor.log') + err_fn = str(log_path + '/mx-smi_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/mx-smi_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/.history/training/metax/metax_monitor_20240122120635.py b/.history/training/metax/metax_monitor_20240122120635.py new file mode 100644 index 000000000..a8d745822 --- /dev/null +++ b/.history/training/metax/metax_monitor_20240122120635.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"mx-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/mx-smi_monitor.log') + err_fn = str(log_path + '/mx-smi_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/mx-smi_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/.history/training/run_benchmarks/config/test_conf_20240121222426.py b/.history/training/run_benchmarks/config/test_conf_20240121222426.py new file mode 100644 index 000000000..a2fca20d3 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240121222426.py @@ -0,0 +1,151 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + +} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122121423.py b/.history/training/run_benchmarks/config/test_conf_20240122121423.py new file mode 100644 index 000000000..f4ecfc760 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240122121423.py @@ -0,0 +1,153 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --env MTHREADS_VISIBLE_DEVICES=all" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + +} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122121424.py b/.history/training/run_benchmarks/config/test_conf_20240122121424.py new file mode 100644 index 000000000..f4ecfc760 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240122121424.py @@ -0,0 +1,153 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --env MTHREADS_VISIBLE_DEVICES=all" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + +} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122121534.py b/.history/training/run_benchmarks/config/test_conf_20240122121534.py new file mode 100644 index 000000000..ee92fb9f5 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240122121534.py @@ -0,0 +1,153 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --device=/dev/dri --device=/dev/mxcd --group-add video" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + +} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122122419.py b/.history/training/run_benchmarks/config/test_conf_20240122122419.py new file mode 100644 index 000000000..5b5a2d2c1 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240122122419.py @@ -0,0 +1,153 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --device=/dev/dri --device=/dev/mxcd --group-add video" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + +} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122122420.py b/.history/training/run_benchmarks/config/test_conf_20240122122420.py new file mode 100644 index 000000000..5b5a2d2c1 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240122122420.py @@ -0,0 +1,153 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --device=/dev/dri --device=/dev/mxcd --group-add video" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + +} diff --git a/training/metax/README.md b/training/metax/README.md index fc9540aa0..21205be75 100644 --- a/training/metax/README.md +++ b/training/metax/README.md @@ -1,2 +1,77 @@ # 厂商信息 +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + +## 产品优势: + +- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 + +- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 + +- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/training/metax/docker_image/pytorch_2.0/Dockerfile b/training/metax/docker_image/pytorch_2.0/Dockerfile new file mode 100644 index 000000000..476c1448a --- /dev/null +++ b/training/metax/docker_image/pytorch_2.0/Dockerfile @@ -0,0 +1,3 @@ +FROM maca-2.18.0.8-ubuntu18.04-amd64:FlagPerf-base-v1 +ENV PATH="/opt/conda/bin:${PATH}" +RUN /bin/bash -c "uname -a" \ No newline at end of file diff --git a/training/metax/docker_image/pytorch_2.0/pytorch_install.sh b/training/metax/docker_image/pytorch_2.0/pytorch_install.sh new file mode 100644 index 000000000..a9bf588e2 --- /dev/null +++ b/training/metax/docker_image/pytorch_2.0/pytorch_install.sh @@ -0,0 +1 @@ +#!/bin/bash diff --git a/training/metax/faster_rcnn-pytorch/README.md b/training/metax/faster_rcnn-pytorch/README.md new file mode 100644 index 000000000..405f9c77a --- /dev/null +++ b/training/metax/faster_rcnn-pytorch/README.md @@ -0,0 +1,58 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | + diff --git a/training/metax/faster_rcnn-pytorch/config/config_A100x1x1.py b/training/metax/faster_rcnn-pytorch/config/config_A100x1x1.py new file mode 100644 index 000000000..c11690f00 --- /dev/null +++ b/training/metax/faster_rcnn-pytorch/config/config_A100x1x1.py @@ -0,0 +1,4 @@ +vendor: str = "metax" +train_batch_size = 16 +eval_batch_size = 16 +lr = 0.16 \ No newline at end of file diff --git a/training/metax/faster_rcnn-pytorch/config/config_A100x1x8.py b/training/metax/faster_rcnn-pytorch/config/config_A100x1x8.py new file mode 100644 index 000000000..842eda4bc --- /dev/null +++ b/training/metax/faster_rcnn-pytorch/config/config_A100x1x8.py @@ -0,0 +1,3 @@ +vendor: str = "metax" +train_batch_size = 2 +eval_batch_size = 2 diff --git a/training/metax/faster_rcnn-pytorch/config/requirements.txt b/training/metax/faster_rcnn-pytorch/config/requirements.txt new file mode 100644 index 000000000..ef43dd9cb --- /dev/null +++ b/training/metax/faster_rcnn-pytorch/config/requirements.txt @@ -0,0 +1,4 @@ +torchvision +pycocotools +numpy +tqdm \ No newline at end of file diff --git a/training/metax/faster_rcnn-pytorch/extern/.gitkeep b/training/metax/faster_rcnn-pytorch/extern/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/training/metax/metax_monitor.py b/training/metax/metax_monitor.py new file mode 100644 index 000000000..a8d745822 --- /dev/null +++ b/training/metax/metax_monitor.py @@ -0,0 +1,288 @@ +# !/usr/bin/env python3 +# encoding: utf-8 +''' +Usage: python3 sys-monitor.py -o operation -l [log_path] + -o, --operation start|stop|restart|status + -l, --log log path , ./logs/ default +''' + +import os +import sys +import time +import signal +import atexit +import argparse +import datetime +from multiprocessing import Process +import subprocess +import schedule + + +class Daemon: + ''' + daemon subprocess class. + usage: subclass this daemon and override the run() method. + sys-monitor.pid: in the /tmp/, auto del when unexpected exit. + verbose: debug mode, disabled default. + ''' + + def __init__(self, + pid_file, + log_file, + err_file, + gpu_log, + log_path, + rate=5, + stdin=os.devnull, + stdout=os.devnull, + stderr=os.devnull, + home_dir='.', + umask=0o22, + verbose=0): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.home_dir = home_dir + self.verbose = verbose + self.pidfile = pid_file + self.logfile = log_file + self.errfile = err_file + self.gpufile = gpu_log + self.logpath = log_path + self.rate = rate + self.umask = umask + self.verbose = verbose + self.daemon_alive = True + + def get_pid(self): + try: + with open(self.pidfile, 'r') as pf: + pid = int(pf.read().strip()) + except IOError: + pid = None + except SystemExit: + pid = None + return pid + + def del_pid(self): + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + + def run(self): + ''' + NOTE: override the method in subclass + ''' + + def gpu_mon(file): + TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') + cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" + process = subprocess.Popen(cmd, + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding='utf-8') + try: + out = process.communicate(timeout=10) + except subprocess.TimeoutExpired: + process.kill() + out = process.communicate() + + if process.returncode != 0: + result = "error" + result = TIMESTAMP + "\n" + out[0] + "\n" + with open(file, 'a') as f: + f.write(result) + + def timer_gpu_mon(): + gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) + gpu_process.start() + + schedule.every(self.rate).seconds.do(timer_gpu_mon) + while True: + schedule.run_pending() + time.sleep(5) + + def daemonize(self): + if self.verbose >= 1: + print('daemon process starting ...') + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #1 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + os.chdir(self.home_dir) + os.setsid() + os.umask(self.umask) + try: + pid = os.fork() + if pid > 0: + sys.exit(0) + except OSError as e: + sys.stderr.write('fork #2 failed: %d (%s)\n' % + (e.errno, e.strerror)) + sys.exit(1) + sys.stdout.flush() + sys.stderr.flush() + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + if self.stderr: + se = open(self.stderr, 'a+') + else: + se = so + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + atexit.register(self.del_pid) + pid = str(os.getpid()) + with open(self.pidfile, 'w+') as f: + f.write('%s\n' % pid) + + def start(self): + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + elif os.path.exists(self.gpufile): + os.remove(self.gpufile) + if self.verbose >= 1: + print('ready to start ......') + # check for a pid file to see if the daemon already runs + pid = self.get_pid() + if pid: + msg = 'pid file %s already exists, is it already running?\n' + sys.stderr.write(msg % self.pidfile) + sys.exit(1) + # start the daemon + self.daemonize() + self.run() + + def stop(self): + if self.verbose >= 1: + print('stopping ...') + pid = self.get_pid() + if not pid: + msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile + sys.stderr.write(msg) + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + return + # try to kill the daemon process + try: + i = 0 + while 1: + os.kill(pid, signal.SIGTERM) + time.sleep(1) + i = i + 1 + if i % 10 == 0: + os.kill(pid, signal.SIGHUP) + except OSError as err: + err = str(err) + if err.find('No such process') > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + if self.verbose >= 1: + print('Stopped!') + + def restart(self): + self.stop() + self.start() + + def status(self): + pid = self.get_pid() + if pid: + if os.path.exists('/proc/%d' % pid): + return pid + return False + + +def parse_args(): + ''' Check script input parameter. ''' + parse = argparse.ArgumentParser(description='Sys monitor script') + parse.add_argument('-o', + type=str, + metavar='[operation]', + required=True, + help='start|stop|restart|status') + parse.add_argument('-l', + type=str, + metavar='[log_path]', + required=False, + default='./logs/', + help='log path') + args = parse.parse_args() + return args + + +def get_system_info(): + cmd = r"echo OS version:;" + cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo OS Kernel version:;" + cmd = cmd + r"uname -r;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Hardware Model:;" + cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Model:;" + cmd = cmd + r"mx-smi -L;" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Accelerator Driver version:;" + cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" + cmd = cmd + r"echo ;" + + cmd = cmd + r"echo Docker version:;" + cmd = cmd + r"docker -v" + + return cmd + + +def main(): + sample_rate1 = 5 + args = parse_args() + operation = args.o + log_path = args.l + pid_fn = str('/tmp/gpu_monitor.pid') + log_fn = str(log_path + '/mx-smi_monitor.log') + err_fn = str(log_path + '/mx-smi_monitor.err') + # result for gpu + gpu_fn = str(log_path + '/mx-smi_monitor.log') + + subdaemon = Daemon(pid_fn, + log_fn, + err_fn, + gpu_fn, + log_path, + verbose=1, + rate=sample_rate1) + if operation == 'start': + sys_fn = os.path.join(log_path, 'sys_info.log') + cmd = get_system_info() + with open(sys_fn, "w") as f: + p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) + p.wait() + subdaemon.start() + elif operation == 'stop': + subdaemon.stop() + elif operation == 'restart': + subdaemon.restart() + elif operation == 'status': + pid = subdaemon.status() + if pid: + print('process [%s] is running ......' % pid) + else: + print('daemon process [%s] stopped' % pid) + else: + print("invalid argument!") + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/training/run_benchmarks/config/test_conf.py b/training/run_benchmarks/config/test_conf.py index a2fca20d3..5b5a2d2c1 100644 --- a/training/run_benchmarks/config/test_conf.py +++ b/training/run_benchmarks/config/test_conf.py @@ -1,7 +1,7 @@ '''Test Configs, including''' # -*-coding:utf-8 -*- -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. # We will run benchmarks in training/ VENDOR = "nvidia" @@ -21,6 +21,8 @@ # -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" # mthreads: # " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --device=/dev/dri --device=/dev/mxcd --group-add video" ACCE_CONTAINER_OPT = " --gpus all" # XXX_VISIBLE_DEVICE item name in env # possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: From 3ce374f61c6ec706f91508d5025ab6afe1abd12d Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 12:41:47 +0800 Subject: [PATCH 04/34] fix readme --- .../training/metax/README_20240122124135.md | 70 +++++++++++++++++++ training/metax/README.md | 7 -- 2 files changed, 70 insertions(+), 7 deletions(-) create mode 100644 .history/training/metax/README_20240122124135.md diff --git a/.history/training/metax/README_20240122124135.md b/.history/training/metax/README_20240122124135.md new file mode 100644 index 000000000..0277c305b --- /dev/null +++ b/.history/training/metax/README_20240122124135.md @@ -0,0 +1,70 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/training/metax/README.md b/training/metax/README.md index 21205be75..0277c305b 100644 --- a/training/metax/README.md +++ b/training/metax/README.md @@ -8,13 +8,6 @@ 沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 # FlagPerf适配验证环境说明 From 51aabdffbd3d809fdfee3cf0f38e3b97ef736c55 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 13:17:38 +0800 Subject: [PATCH 05/34] add config 1x8 bs=16 --- .../training/metax/README_20240122124234.md | 70 +++++++++++++++++++ .../training/metax/README_20240122131502.md | 69 ++++++++++++++++++ .../training/metax/README_20240122131503.md | 69 ++++++++++++++++++ .../training/metax/README_20240122131504.md | 69 ++++++++++++++++++ .../training/metax/README_20240122131505.md | 69 ++++++++++++++++++ .../training/metax/README_20240122131506.md | 69 ++++++++++++++++++ .../README_20240122131554.md | 59 ++++++++++++++++ .../README_20240122131555.md | 59 ++++++++++++++++ .../README_20240122131638.md | 59 ++++++++++++++++ .../README_20240122131706.md | 59 ++++++++++++++++ training/metax/README.md | 3 +- training/metax/faster_rcnn-pytorch/README.md | 3 +- 12 files changed, 654 insertions(+), 3 deletions(-) create mode 100644 .history/training/metax/README_20240122124234.md create mode 100644 .history/training/metax/README_20240122131502.md create mode 100644 .history/training/metax/README_20240122131503.md create mode 100644 .history/training/metax/README_20240122131504.md create mode 100644 .history/training/metax/README_20240122131505.md create mode 100644 .history/training/metax/README_20240122131506.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131554.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131555.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131638.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131706.md diff --git a/.history/training/metax/README_20240122124234.md b/.history/training/metax/README_20240122124234.md new file mode 100644 index 000000000..f5464eb11 --- /dev/null +++ b/.history/training/metax/README_20240122124234.md @@ -0,0 +1,70 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + - 多机网络类型、带宽: + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122131502.md b/.history/training/metax/README_20240122131502.md new file mode 100644 index 000000000..a959636cc --- /dev/null +++ b/.history/training/metax/README_20240122131502.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122131503.md b/.history/training/metax/README_20240122131503.md new file mode 100644 index 000000000..a959636cc --- /dev/null +++ b/.history/training/metax/README_20240122131503.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122131504.md b/.history/training/metax/README_20240122131504.md new file mode 100644 index 000000000..a959636cc --- /dev/null +++ b/.history/training/metax/README_20240122131504.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122131505.md b/.history/training/metax/README_20240122131505.md new file mode 100644 index 000000000..a959636cc --- /dev/null +++ b/.history/training/metax/README_20240122131505.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122131506.md b/.history/training/metax/README_20240122131506.md new file mode 100644 index 000000000..a959636cc --- /dev/null +++ b/.history/training/metax/README_20240122131506.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 18.04 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131554.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131554.md new file mode 100644 index 000000000..81ade9f7a --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122131554.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | / | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16/ | / | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131555.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131555.md new file mode 100644 index 000000000..81ade9f7a --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122131555.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | / | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16/ | / | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131638.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131638.md new file mode 100644 index 000000000..68bad664f --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122131638.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | / | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131706.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131706.md new file mode 100644 index 000000000..e562c2342 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122131706.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | + diff --git a/training/metax/README.md b/training/metax/README.md index 0277c305b..a959636cc 100644 --- a/training/metax/README.md +++ b/training/metax/README.md @@ -14,8 +14,7 @@ ## 环境配置参考 - 硬件 - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: + - 加速卡型号: MX C500 - 软件 - OS版本:Ubuntu 18.04 diff --git a/training/metax/faster_rcnn-pytorch/README.md b/training/metax/faster_rcnn-pytorch/README.md index 405f9c77a..e562c2342 100644 --- a/training/metax/faster_rcnn-pytorch/README.md +++ b/training/metax/faster_rcnn-pytorch/README.md @@ -53,6 +53,7 @@ torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://do | 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | | --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | | MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | From 8fc458be4f5c086bbf174b43da6e4b6e605b8ca6 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 13:23:34 +0800 Subject: [PATCH 06/34] fix typo A100->C500 --- .../config/{config_A100x1x1.py => config_C500x1x1.py} | 0 .../config/{config_A100x1x8.py => config_C500x1x8.py} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename training/metax/faster_rcnn-pytorch/config/{config_A100x1x1.py => config_C500x1x1.py} (100%) rename training/metax/faster_rcnn-pytorch/config/{config_A100x1x8.py => config_C500x1x8.py} (100%) diff --git a/training/metax/faster_rcnn-pytorch/config/config_A100x1x1.py b/training/metax/faster_rcnn-pytorch/config/config_C500x1x1.py similarity index 100% rename from training/metax/faster_rcnn-pytorch/config/config_A100x1x1.py rename to training/metax/faster_rcnn-pytorch/config/config_C500x1x1.py diff --git a/training/metax/faster_rcnn-pytorch/config/config_A100x1x8.py b/training/metax/faster_rcnn-pytorch/config/config_C500x1x8.py similarity index 100% rename from training/metax/faster_rcnn-pytorch/config/config_A100x1x8.py rename to training/metax/faster_rcnn-pytorch/config/config_C500x1x8.py From 1dd747464019d9ac3a20db3c379f688015b13938 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 13:25:30 +0800 Subject: [PATCH 07/34] remove torchvision in requirements.txt --- .../config/requirements_20240122121150.txt | 4 ++++ .../config/requirements_20240122132509.txt | 3 +++ training/metax/faster_rcnn-pytorch/config/requirements.txt | 1 - 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt create mode 100644 .history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt diff --git a/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt b/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt new file mode 100644 index 000000000..ef43dd9cb --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt @@ -0,0 +1,4 @@ +torchvision +pycocotools +numpy +tqdm \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt b/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt new file mode 100644 index 000000000..cc8d4dc61 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt @@ -0,0 +1,3 @@ +pycocotools +numpy +tqdm \ No newline at end of file diff --git a/training/metax/faster_rcnn-pytorch/config/requirements.txt b/training/metax/faster_rcnn-pytorch/config/requirements.txt index ef43dd9cb..cc8d4dc61 100644 --- a/training/metax/faster_rcnn-pytorch/config/requirements.txt +++ b/training/metax/faster_rcnn-pytorch/config/requirements.txt @@ -1,4 +1,3 @@ -torchvision pycocotools numpy tqdm \ No newline at end of file From 0f9131658b08841201dbebfc1f4a231166ae8891 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 13:37:46 +0800 Subject: [PATCH 08/34] update readme --- .../training/metax/README_20240122133720.md | 69 +++++++++++++++++++ training/metax/README.md | 2 +- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 .history/training/metax/README_20240122133720.md diff --git a/.history/training/metax/README_20240122133720.md b/.history/training/metax/README_20240122133720.md new file mode 100644 index 000000000..6c2e77ad9 --- /dev/null +++ b/.history/training/metax/README_20240122133720.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/training/metax/README.md b/training/metax/README.md index a959636cc..6c2e77ad9 100644 --- a/training/metax/README.md +++ b/training/metax/README.md @@ -17,7 +17,7 @@ - 加速卡型号: MX C500 - 软件 - - OS版本:Ubuntu 18.04 + - OS版本:Ubuntu 20.04.6 - OS kernel版本: 5.4.0-26-generic - 加速卡驱动版本:2.2.0 - Docker版本:24.0.7 From ae2292f0beb2b440d9ac983d9a47f0b84652a7e7 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 14:21:49 +0800 Subject: [PATCH 09/34] update fasterrcnn readme --- .../training/metax/README_20240122134130.md | 69 +++++++++++++++++++ .../training/metax/README_20240122134307.md | 69 +++++++++++++++++++ .../training/metax/README_20240122134308.md | 69 +++++++++++++++++++ .../training/metax/README_20240122134323.md | 69 +++++++++++++++++++ .../README_20240122142102.md | 59 ++++++++++++++++ .../README_20240122142112.md | 59 ++++++++++++++++ .../README_20240122142118.md | 59 ++++++++++++++++ .../README_20240122142119.md | 59 ++++++++++++++++ .../README_20240122142126.md | 59 ++++++++++++++++ training/metax/README.md | 2 +- training/metax/faster_rcnn-pytorch/README.md | 8 +-- 11 files changed, 576 insertions(+), 5 deletions(-) create mode 100644 .history/training/metax/README_20240122134130.md create mode 100644 .history/training/metax/README_20240122134307.md create mode 100644 .history/training/metax/README_20240122134308.md create mode 100644 .history/training/metax/README_20240122134323.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142102.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142112.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142118.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142119.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142126.md diff --git a/.history/training/metax/README_20240122134130.md b/.history/training/metax/README_20240122134130.md new file mode 100644 index 000000000..6c2e77ad9 --- /dev/null +++ b/.history/training/metax/README_20240122134130.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本 + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122134307.md b/.history/training/metax/README_20240122134307.md new file mode 100644 index 000000000..db29e1537 --- /dev/null +++ b/.history/training/metax/README_20240122134307.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本: + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122134308.md b/.history/training/metax/README_20240122134308.md new file mode 100644 index 000000000..db29e1537 --- /dev/null +++ b/.history/training/metax/README_20240122134308.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本: + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/README_20240122134323.md b/.history/training/metax/README_20240122134323.md new file mode 100644 index 000000000..2513acdcf --- /dev/null +++ b/.history/training/metax/README_20240122134323.md @@ -0,0 +1,69 @@ +# 厂商信息 + +官网: https://www.metax-tech.com/ + +沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 + +沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 + +沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 + + + +# FlagPerf适配验证环境说明 +## 环境配置参考 +- 硬件 + - 机器型号: + - 加速卡型号: MX C500 + +- 软件 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker版本:24.0.7 + + +## 容器镜像信息 +- 容器构建信息 + - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile + - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh + +- 核心软件信息 + - AI框架&相关版本: + torch: pytorch-2.0 + torchvision: torchvision-0.15 + maca: 2.18.0.8 + + +## 加速卡监控采集 +- 加速卡使用信息采集命令 + + ```shell + mx_smi + ``` +- 监控项示例: + ++---------------------------------------------------------------------------------+ +|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | +|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | +|------------------------------------+---------------------+----------------------+ +|  GPU    NAME       | Bus-i       | GPU-Util      | +|  Temp  Power       | Memory-Usage    |           | +|=====================+============+==============| +|  0    MXC500         | 0000:1b:00.0      | 0%               | +|  35C    56W           | 914/65536 MiB       |               | ++------------------------------------+---------------------+----------------------+ + + +- 加速卡使用信息采集项说明 + +|监控项| 日志文件 | 格式 | +|---|---|---| +|温度| mx_monitor.log | xxx C | +|功耗 |mx_monitor.log | xxx W | +|显存占用大小 |mx_monitor.log |xxx MiB | +|总显存大小 |mx_monitor.log |xxx MiB | +|显存使用率 |mx_monitor.log |xxx % | + + + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142102.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142102.md new file mode 100644 index 000000000..3a1a73556 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122142102.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142112.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142112.md new file mode 100644 index 000000000..fcf15df08 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122142112.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142118.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142118.md new file mode 100644 index 000000000..d2a579642 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122142118.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142119.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142119.md new file mode 100644 index 000000000..d2a579642 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122142119.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:maca-2.18.0.8 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142126.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142126.md new file mode 100644 index 000000000..76de6e773 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240122142126.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: MXC 500 64GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:20.10.8 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:24.0.7 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | + diff --git a/training/metax/README.md b/training/metax/README.md index 6c2e77ad9..2513acdcf 100644 --- a/training/metax/README.md +++ b/training/metax/README.md @@ -29,7 +29,7 @@ - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - 核心软件信息 - - AI框架&相关版本 + - AI框架&相关版本: torch: pytorch-2.0 torchvision: torchvision-0.15 maca: 2.18.0.8 diff --git a/training/metax/faster_rcnn-pytorch/README.md b/training/metax/faster_rcnn-pytorch/README.md index e562c2342..76de6e773 100644 --- a/training/metax/faster_rcnn-pytorch/README.md +++ b/training/metax/faster_rcnn-pytorch/README.md @@ -20,12 +20,12 @@ torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://do - 机器、加速卡型号: MXC 500 64GB - ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 - Docker 版本:20.10.8 - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 + - 依赖软件版本:24.0.7 From 02cbdf88cd0ca1bc240f1241f1b51faabc413457 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Mon, 22 Jan 2024 15:17:16 +0800 Subject: [PATCH 10/34] update --- .../training/ascend/README_20240121222426.md | 59 ---- .../training/ascend/README_20240122102708.md | 60 ---- .../training/ascend/README_20240122102716.md | 59 ---- .../training/metax/README_20240122095833.md | 74 ----- .../training/metax/README_20240122100022.md | 76 ----- .../training/metax/README_20240122100023.md | 76 ----- .../training/metax/README_20240122100024.md | 76 ----- .../training/metax/README_20240122100652.md | 76 ----- .../training/metax/README_20240122101536.md | 74 ----- .../training/metax/README_20240122101537.md | 74 ----- .../training/metax/README_20240122101841.md | 74 ----- .../training/metax/README_20240122101842.md | 74 ----- .../training/metax/README_20240122102846.md | 77 ----- .../training/metax/README_20240122102847.md | 77 ----- .../training/metax/README_20240122103442.md | 77 ----- .../training/metax/README_20240122103449.md | 77 ----- .../training/metax/README_20240122103456.md | 77 ----- .../training/metax/README_20240122103501.md | 77 ----- .../training/metax/README_20240122103502.md | 77 ----- .../training/metax/README_20240122103505.md | 77 ----- .../training/metax/README_20240122103510.md | 77 ----- .../training/metax/README_20240122103659.md | 77 ----- .../training/metax/README_20240122103724.md | 77 ----- .../training/metax/README_20240122103814.md | 77 ----- .../training/metax/README_20240122103956.md | 77 ----- .../training/metax/README_20240122104013.md | 77 ----- .../training/metax/README_20240122104021.md | 77 ----- .../training/metax/README_20240122104027.md | 77 ----- .../training/metax/README_20240122104031.md | 77 ----- .../training/metax/README_20240122104045.md | 77 ----- .../training/metax/README_20240122104052.md | 77 ----- .../training/metax/README_20240122104053.md | 77 ----- .../training/metax/README_20240122104102.md | 77 ----- .../training/metax/README_20240122104111.md | 77 ----- .../training/metax/README_20240122104123.md | 77 ----- .../training/metax/README_20240122104245.md | 77 ----- .../training/metax/README_20240122104258.md | 77 ----- .../training/metax/README_20240122104259.md | 77 ----- .../training/metax/README_20240122104319.md | 77 ----- .../training/metax/README_20240122104329.md | 77 ----- .../training/metax/README_20240122104332.md | 77 ----- .../training/metax/README_20240122104402.md | 77 ----- .../training/metax/README_20240122104431.md | 77 ----- .../training/metax/README_20240122104432.md | 77 ----- .../training/metax/README_20240122104442.md | 77 ----- .../training/metax/README_20240122104500.md | 77 ----- .../training/metax/README_20240122104633.md | 77 ----- .../training/metax/README_20240122105735.md | 77 ----- .../training/metax/README_20240122105736.md | 77 ----- .../training/metax/README_20240122110105.md | 77 ----- .../training/metax/README_20240122110124.md | 77 ----- .../training/metax/README_20240122110125.md | 77 ----- .../training/metax/README_20240122110203.md | 77 ----- .../training/metax/README_20240122111158.md | 77 ----- .../training/metax/README_20240122111159.md | 77 ----- .../training/metax/README_20240122111214.md | 77 ----- .../training/metax/README_20240122111215.md | 77 ----- .../training/metax/README_20240122111220.md | 77 ----- .../training/metax/README_20240122111224.md | 77 ----- .../training/metax/README_20240122111257.md | 77 ----- .../training/metax/README_20240122111316.md | 77 ----- .../training/metax/README_20240122111326.md | 77 ----- .../training/metax/README_20240122111333.md | 77 ----- .../training/metax/README_20240122111334.md | 77 ----- .../training/metax/README_20240122111356.md | 77 ----- .../training/metax/README_20240122111403.md | 77 ----- .../training/metax/README_20240122111404.md | 77 ----- .../training/metax/README_20240122112025.md | 77 ----- .../training/metax/README_20240122112059.md | 77 ----- .../training/metax/README_20240122112100.md | 77 ----- .../training/metax/README_20240122112126.md | 77 ----- .../training/metax/README_20240122112133.md | 77 ----- .../training/metax/README_20240122112141.md | 77 ----- .../training/metax/README_20240122112156.md | 77 ----- .../training/metax/README_20240122112207.md | 77 ----- .../training/metax/README_20240122112222.md | 77 ----- .../training/metax/README_20240122112229.md | 77 ----- .../training/metax/README_20240122112237.md | 77 ----- .../training/metax/README_20240122112242.md | 77 ----- .../training/metax/README_20240122112251.md | 77 ----- .../training/metax/README_20240122112255.md | 77 ----- .../training/metax/README_20240122112259.md | 77 ----- .../training/metax/README_20240122112310.md | 77 ----- .../training/metax/README_20240122112311.md | 77 ----- .../training/metax/README_20240122112413.md | 77 ----- .../training/metax/README_20240122112414.md | 77 ----- .../training/metax/README_20240122112436.md | 77 ----- .../training/metax/README_20240122112443.md | 77 ----- .../training/metax/README_20240122112448.md | 77 ----- .../training/metax/README_20240122112454.md | 77 ----- .../training/metax/README_20240122112458.md | 77 ----- .../training/metax/README_20240122112506.md | 77 ----- .../training/metax/README_20240122112507.md | 77 ----- .../training/metax/README_20240122112512.md | 77 ----- .../training/metax/README_20240122112521.md | 77 ----- .../training/metax/README_20240122112524.md | 77 ----- .../training/metax/README_20240122112525.md | 77 ----- .../training/metax/README_20240122112528.md | 77 ----- .../training/metax/README_20240122112533.md | 77 ----- .../training/metax/README_20240122112534.md | 77 ----- .../training/metax/README_20240122112544.md | 77 ----- .../training/metax/README_20240122112545.md | 77 ----- .../training/metax/README_20240122112606.md | 77 ----- .../training/metax/README_20240122112719.md | 77 ----- .../training/metax/README_20240122112724.md | 77 ----- .../training/metax/README_20240122112727.md | 77 ----- .../training/metax/README_20240122112728.md | 77 ----- .../training/metax/README_20240122112738.md | 77 ----- .../training/metax/README_20240122112742.md | 77 ----- .../training/metax/README_20240122112752.md | 77 ----- .../training/metax/README_20240122112801.md | 77 ----- .../training/metax/README_20240122112809.md | 77 ----- .../training/metax/README_20240122112823.md | 77 ----- .../training/metax/README_20240122112833.md | 77 ----- .../training/metax/README_20240122112845.md | 77 ----- .../training/metax/README_20240122112852.md | 77 ----- .../training/metax/README_20240122112857.md | 77 ----- .../training/metax/README_20240122112901.md | 77 ----- .../training/metax/README_20240122112910.md | 77 ----- .../training/metax/README_20240122112931.md | 77 ----- .../training/metax/README_20240122112936.md | 77 ----- .../training/metax/README_20240122112944.md | 77 ----- .../training/metax/README_20240122112952.md | 77 ----- .../training/metax/README_20240122113021.md | 77 ----- .../training/metax/README_20240122113031.md | 77 ----- .../training/metax/README_20240122113035.md | 77 ----- .../training/metax/README_20240122113039.md | 77 ----- .../training/metax/README_20240122113053.md | 77 ----- .../training/metax/README_20240122113101.md | 77 ----- .../training/metax/README_20240122113227.md | 77 ----- .../training/metax/README_20240122113228.md | 77 ----- .../training/metax/README_20240122113230.md | 77 ----- .../training/metax/README_20240122113231.md | 77 ----- .../training/metax/README_20240122113232.md | 77 ----- .../training/metax/README_20240122113233.md | 77 ----- .../training/metax/README_20240122113251.md | 77 ----- .../training/metax/README_20240122113252.md | 77 ----- .../training/metax/README_20240122120442.md | 77 ----- .../training/metax/README_20240122122457.md | 77 ----- .../training/metax/README_20240122122513.md | 77 ----- .../training/metax/README_20240122124135.md | 70 ----- .../training/metax/README_20240122124234.md | 70 ----- .../training/metax/README_20240122131502.md | 69 ----- .../training/metax/README_20240122131503.md | 69 ----- .../training/metax/README_20240122131504.md | 69 ----- .../training/metax/README_20240122131505.md | 69 ----- .../training/metax/README_20240122131506.md | 69 ----- .../training/metax/README_20240122133720.md | 69 ----- .../training/metax/README_20240122134130.md | 69 ----- .../training/metax/README_20240122134307.md | 69 ----- .../training/metax/README_20240122134308.md | 69 ----- .../training/metax/README_20240122134323.md | 69 ----- .../docker_image/Dockerfile_20240122121816 | 0 .../docker_image/Dockerfile_20240122121903 | 3 - .../docker_image/Dockerfile_20240122121904 | 3 - .../docker_image/Dockerfile_20240122121905 | 3 - .../README_20240122122914.md | 57 ---- .../README_20240122123311.md | 56 ---- .../README_20240122123312.md | 56 ---- .../README_20240122123313.md | 56 ---- .../README_20240122123314.md | 56 ---- .../README_20240122123335.md | 58 ---- .../README_20240122123336.md | 58 ---- .../README_20240122123632.md | 58 ---- .../README_20240122123633.md | 58 ---- .../README_20240122123703.md | 58 ---- .../README_20240122123725.md | 58 ---- .../README_20240122123807.md | 58 ---- .../README_20240122123903.md | 58 ---- .../README_20240122123904.md | 58 ---- .../README_20240122123920.md | 58 ---- .../README_20240122123921.md | 58 ---- .../README_20240122131554.md | 59 ---- .../README_20240122131555.md | 59 ---- .../README_20240122131638.md | 59 ---- .../README_20240122131706.md | 59 ---- .../README_20240122142102.md | 59 ---- .../README_20240122142112.md | 59 ---- .../README_20240122142118.md | 59 ---- .../README_20240122142119.md | 59 ---- .../README_20240122142126.md | 59 ---- .../config/config_A100x1x1_20240122121150.py | 4 - .../config/config_A100x1x1_20240122121432.py | 4 - .../config/config_A100x1x1_20240122122125.py | 4 - .../config/config_A100x1x1_20240122122241.py | 4 - .../config/config_A100x1x8_20240122121150.py | 3 - .../config/config_A100x1x8_20240122121433.py | 3 - .../config/config_A100x1x8_20240122121434.py | 3 - .../config/requirements_20240122121150.txt | 4 - .../config/requirements_20240122132509.txt | 3 - .../metax/metax_monitor_20240122120533.py | 288 ------------------ .../metax/metax_monitor_20240122120558.py | 288 ------------------ .../metax/metax_monitor_20240122120616.py | 288 ------------------ .../metax/metax_monitor_20240122120617.py | 288 ------------------ .../metax/metax_monitor_20240122120633.py | 288 ------------------ .../metax/metax_monitor_20240122120634.py | 288 ------------------ .../metax/metax_monitor_20240122120635.py | 288 ------------------ .../config/test_conf_20240121222426.py | 151 --------- .../config/test_conf_20240122121423.py | 153 ---------- .../config/test_conf_20240122121424.py | 153 ---------- .../config/test_conf_20240122121534.py | 153 ---------- .../config/test_conf_20240122122419.py | 153 ---------- .../config/test_conf_20240122122420.py | 153 ---------- 203 files changed, 15961 deletions(-) delete mode 100644 .history/training/ascend/README_20240121222426.md delete mode 100644 .history/training/ascend/README_20240122102708.md delete mode 100644 .history/training/ascend/README_20240122102716.md delete mode 100644 .history/training/metax/README_20240122095833.md delete mode 100644 .history/training/metax/README_20240122100022.md delete mode 100644 .history/training/metax/README_20240122100023.md delete mode 100644 .history/training/metax/README_20240122100024.md delete mode 100644 .history/training/metax/README_20240122100652.md delete mode 100644 .history/training/metax/README_20240122101536.md delete mode 100644 .history/training/metax/README_20240122101537.md delete mode 100644 .history/training/metax/README_20240122101841.md delete mode 100644 .history/training/metax/README_20240122101842.md delete mode 100644 .history/training/metax/README_20240122102846.md delete mode 100644 .history/training/metax/README_20240122102847.md delete mode 100644 .history/training/metax/README_20240122103442.md delete mode 100644 .history/training/metax/README_20240122103449.md delete mode 100644 .history/training/metax/README_20240122103456.md delete mode 100644 .history/training/metax/README_20240122103501.md delete mode 100644 .history/training/metax/README_20240122103502.md delete mode 100644 .history/training/metax/README_20240122103505.md delete mode 100644 .history/training/metax/README_20240122103510.md delete mode 100644 .history/training/metax/README_20240122103659.md delete mode 100644 .history/training/metax/README_20240122103724.md delete mode 100644 .history/training/metax/README_20240122103814.md delete mode 100644 .history/training/metax/README_20240122103956.md delete mode 100644 .history/training/metax/README_20240122104013.md delete mode 100644 .history/training/metax/README_20240122104021.md delete mode 100644 .history/training/metax/README_20240122104027.md delete mode 100644 .history/training/metax/README_20240122104031.md delete mode 100644 .history/training/metax/README_20240122104045.md delete mode 100644 .history/training/metax/README_20240122104052.md delete mode 100644 .history/training/metax/README_20240122104053.md delete mode 100644 .history/training/metax/README_20240122104102.md delete mode 100644 .history/training/metax/README_20240122104111.md delete mode 100644 .history/training/metax/README_20240122104123.md delete mode 100644 .history/training/metax/README_20240122104245.md delete mode 100644 .history/training/metax/README_20240122104258.md delete mode 100644 .history/training/metax/README_20240122104259.md delete mode 100644 .history/training/metax/README_20240122104319.md delete mode 100644 .history/training/metax/README_20240122104329.md delete mode 100644 .history/training/metax/README_20240122104332.md delete mode 100644 .history/training/metax/README_20240122104402.md delete mode 100644 .history/training/metax/README_20240122104431.md delete mode 100644 .history/training/metax/README_20240122104432.md delete mode 100644 .history/training/metax/README_20240122104442.md delete mode 100644 .history/training/metax/README_20240122104500.md delete mode 100644 .history/training/metax/README_20240122104633.md delete mode 100644 .history/training/metax/README_20240122105735.md delete mode 100644 .history/training/metax/README_20240122105736.md delete mode 100644 .history/training/metax/README_20240122110105.md delete mode 100644 .history/training/metax/README_20240122110124.md delete mode 100644 .history/training/metax/README_20240122110125.md delete mode 100644 .history/training/metax/README_20240122110203.md delete mode 100644 .history/training/metax/README_20240122111158.md delete mode 100644 .history/training/metax/README_20240122111159.md delete mode 100644 .history/training/metax/README_20240122111214.md delete mode 100644 .history/training/metax/README_20240122111215.md delete mode 100644 .history/training/metax/README_20240122111220.md delete mode 100644 .history/training/metax/README_20240122111224.md delete mode 100644 .history/training/metax/README_20240122111257.md delete mode 100644 .history/training/metax/README_20240122111316.md delete mode 100644 .history/training/metax/README_20240122111326.md delete mode 100644 .history/training/metax/README_20240122111333.md delete mode 100644 .history/training/metax/README_20240122111334.md delete mode 100644 .history/training/metax/README_20240122111356.md delete mode 100644 .history/training/metax/README_20240122111403.md delete mode 100644 .history/training/metax/README_20240122111404.md delete mode 100644 .history/training/metax/README_20240122112025.md delete mode 100644 .history/training/metax/README_20240122112059.md delete mode 100644 .history/training/metax/README_20240122112100.md delete mode 100644 .history/training/metax/README_20240122112126.md delete mode 100644 .history/training/metax/README_20240122112133.md delete mode 100644 .history/training/metax/README_20240122112141.md delete mode 100644 .history/training/metax/README_20240122112156.md delete mode 100644 .history/training/metax/README_20240122112207.md delete mode 100644 .history/training/metax/README_20240122112222.md delete mode 100644 .history/training/metax/README_20240122112229.md delete mode 100644 .history/training/metax/README_20240122112237.md delete mode 100644 .history/training/metax/README_20240122112242.md delete mode 100644 .history/training/metax/README_20240122112251.md delete mode 100644 .history/training/metax/README_20240122112255.md delete mode 100644 .history/training/metax/README_20240122112259.md delete mode 100644 .history/training/metax/README_20240122112310.md delete mode 100644 .history/training/metax/README_20240122112311.md delete mode 100644 .history/training/metax/README_20240122112413.md delete mode 100644 .history/training/metax/README_20240122112414.md delete mode 100644 .history/training/metax/README_20240122112436.md delete mode 100644 .history/training/metax/README_20240122112443.md delete mode 100644 .history/training/metax/README_20240122112448.md delete mode 100644 .history/training/metax/README_20240122112454.md delete mode 100644 .history/training/metax/README_20240122112458.md delete mode 100644 .history/training/metax/README_20240122112506.md delete mode 100644 .history/training/metax/README_20240122112507.md delete mode 100644 .history/training/metax/README_20240122112512.md delete mode 100644 .history/training/metax/README_20240122112521.md delete mode 100644 .history/training/metax/README_20240122112524.md delete mode 100644 .history/training/metax/README_20240122112525.md delete mode 100644 .history/training/metax/README_20240122112528.md delete mode 100644 .history/training/metax/README_20240122112533.md delete mode 100644 .history/training/metax/README_20240122112534.md delete mode 100644 .history/training/metax/README_20240122112544.md delete mode 100644 .history/training/metax/README_20240122112545.md delete mode 100644 .history/training/metax/README_20240122112606.md delete mode 100644 .history/training/metax/README_20240122112719.md delete mode 100644 .history/training/metax/README_20240122112724.md delete mode 100644 .history/training/metax/README_20240122112727.md delete mode 100644 .history/training/metax/README_20240122112728.md delete mode 100644 .history/training/metax/README_20240122112738.md delete mode 100644 .history/training/metax/README_20240122112742.md delete mode 100644 .history/training/metax/README_20240122112752.md delete mode 100644 .history/training/metax/README_20240122112801.md delete mode 100644 .history/training/metax/README_20240122112809.md delete mode 100644 .history/training/metax/README_20240122112823.md delete mode 100644 .history/training/metax/README_20240122112833.md delete mode 100644 .history/training/metax/README_20240122112845.md delete mode 100644 .history/training/metax/README_20240122112852.md delete mode 100644 .history/training/metax/README_20240122112857.md delete mode 100644 .history/training/metax/README_20240122112901.md delete mode 100644 .history/training/metax/README_20240122112910.md delete mode 100644 .history/training/metax/README_20240122112931.md delete mode 100644 .history/training/metax/README_20240122112936.md delete mode 100644 .history/training/metax/README_20240122112944.md delete mode 100644 .history/training/metax/README_20240122112952.md delete mode 100644 .history/training/metax/README_20240122113021.md delete mode 100644 .history/training/metax/README_20240122113031.md delete mode 100644 .history/training/metax/README_20240122113035.md delete mode 100644 .history/training/metax/README_20240122113039.md delete mode 100644 .history/training/metax/README_20240122113053.md delete mode 100644 .history/training/metax/README_20240122113101.md delete mode 100644 .history/training/metax/README_20240122113227.md delete mode 100644 .history/training/metax/README_20240122113228.md delete mode 100644 .history/training/metax/README_20240122113230.md delete mode 100644 .history/training/metax/README_20240122113231.md delete mode 100644 .history/training/metax/README_20240122113232.md delete mode 100644 .history/training/metax/README_20240122113233.md delete mode 100644 .history/training/metax/README_20240122113251.md delete mode 100644 .history/training/metax/README_20240122113252.md delete mode 100644 .history/training/metax/README_20240122120442.md delete mode 100644 .history/training/metax/README_20240122122457.md delete mode 100644 .history/training/metax/README_20240122122513.md delete mode 100644 .history/training/metax/README_20240122124135.md delete mode 100644 .history/training/metax/README_20240122124234.md delete mode 100644 .history/training/metax/README_20240122131502.md delete mode 100644 .history/training/metax/README_20240122131503.md delete mode 100644 .history/training/metax/README_20240122131504.md delete mode 100644 .history/training/metax/README_20240122131505.md delete mode 100644 .history/training/metax/README_20240122131506.md delete mode 100644 .history/training/metax/README_20240122133720.md delete mode 100644 .history/training/metax/README_20240122134130.md delete mode 100644 .history/training/metax/README_20240122134307.md delete mode 100644 .history/training/metax/README_20240122134308.md delete mode 100644 .history/training/metax/README_20240122134323.md delete mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121816 delete mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121903 delete mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121904 delete mode 100644 .history/training/metax/docker_image/Dockerfile_20240122121905 delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122122914.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123311.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123312.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123313.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123314.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123335.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123336.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123632.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123633.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123703.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123725.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123807.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123903.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123904.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123920.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122123921.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131554.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131555.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131638.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122131706.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142102.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142112.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142118.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142119.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240122142126.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt delete mode 100644 .history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt delete mode 100644 .history/training/metax/metax_monitor_20240122120533.py delete mode 100644 .history/training/metax/metax_monitor_20240122120558.py delete mode 100644 .history/training/metax/metax_monitor_20240122120616.py delete mode 100644 .history/training/metax/metax_monitor_20240122120617.py delete mode 100644 .history/training/metax/metax_monitor_20240122120633.py delete mode 100644 .history/training/metax/metax_monitor_20240122120634.py delete mode 100644 .history/training/metax/metax_monitor_20240122120635.py delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240121222426.py delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240122121423.py delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240122121424.py delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240122121534.py delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240122122419.py delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240122122420.py diff --git a/.history/training/ascend/README_20240121222426.md b/.history/training/ascend/README_20240121222426.md deleted file mode 100644 index 42bfc0752..000000000 --- a/.history/training/ascend/README_20240121222426.md +++ /dev/null @@ -1,59 +0,0 @@ -# 厂商信息 - -官网: https://www.hiascend.com/zh/ - -昇腾计算产业生态包括围绕着昇腾计算技术和产品体系所开展的学术、技术、公益及商业活动,产生的知识和产品以及各种合作伙伴,主要包括原始设备制造商OEM、原始设计制造商ODM、 独立硬件开发商IHV、咨询与解决方案集成商C&SI、独立软件开发商ISV、云服务提供商XaaS等。 -同时,昇腾的合作伙伴体系当中还包含围绕昇腾相关产品对外提供服务交付的服务类伙伴,提供培训服务的人才联盟伙伴,提供投融资和运营服务的投融资运营伙伴等。 -昇腾高度重视高校的人才培养和昇腾开发者的发展,让高校和开发者成为整个昇腾生态的重要组成部分。 - -# FlagPerf适配验证环境说明 -## 环境配置参考 - - 硬件 - - 机器型号: - - 多机网络类型、带宽: RoCE,100 Gb/s - - 软件 - - OS版本:Ubuntu 18.04.1 LTS - - OS kernel版本: Linux 4.15.0-29-generic aarch64 - - Docker 版本: 19.03.6 - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:training/ascend/docker_image/\/Dockerfile - - 构建后软件安装脚本: training/ascend/docker_image/\/\_install.sh - -- 核心软件信息 - - - AI框架&版本 - - mindspore: 1.10.0 - - - 其它软件版本 - - cann: 6.3.RC1 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```bash - npu-smi info - ``` -- 监控项示例: - ```bash -+----------------------------------------------------------------------------------------------------+ -| npu-smi 22.0.3 Version: 22.0.3 | -+-------------------+-----------------+--------------------------------------------------------------+ -| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page) | -| Chip Device | Bus-Id | AICore(%) Memory-Usage(MB) | -+===================+=================+==============================================================+ -| 4 910A | OK | NA 43 0 / 970 | -| 0 0 | 0000:81:00.0 | 0 861 / 21534 | -+===================+=================+==============================================================+ - ``` -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | -|---|---|---| -|Temp(C) | ascend_monitor.log | -|AICore(%) |ascend_monitor.log | -|Memory-Usage(MB) |ascend_monitor.log | -|Hugepages-Usage(page) |ascend_monitor.log | -|Power(W) |ascend_monitor.log | \ No newline at end of file diff --git a/.history/training/ascend/README_20240122102708.md b/.history/training/ascend/README_20240122102708.md deleted file mode 100644 index 2350afd3c..000000000 --- a/.history/training/ascend/README_20240122102708.md +++ /dev/null @@ -1,60 +0,0 @@ -# 厂商信息 - -官网: https://www.hiascend.com/zh/ - -昇腾计算产业生态包括围绕着昇腾计算技术和产品体系所开展的学术、技术、公益及商业活动,产生的知识和产品以及各种合作伙伴,主要包括原始设备制造商OEM、原始设计制造商ODM、 独立硬件开发商IHV、咨询与解决方案集成商C&SI、独立软件开发商ISV、云服务提供商XaaS等。 -同时,昇腾的合作伙伴体系当中还包含围绕昇腾相关产品对外提供服务交付的服务类伙伴,提供培训服务的人才联盟伙伴,提供投融资和运营服务的投融资运营伙伴等。 -昇腾高度重视高校的人才培养和昇腾开发者的发展,让高校和开发者成为整个昇腾生态的重要组成部分。 - -# FlagPerf适配验证环境说明 -## 环境配置参考 - - 硬件 - - 机器型号: - - 多机网络类型、带宽: RoCE,100 Gb/s - - 软件 - - OS版本:Ubuntu 18.04.1 LTS - - OS kernel版本: Linux 4.15.0-29-generic aarch64 - - Docker 版本: 19.03.6 - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:training/ascend/docker_image/\/Dockerfile - - 构建后软件安装脚本: training/ascend/docker_image/\/\_install.sh - -- 核心软件信息 - - - AI框架&版本 - - mindspore: 1.10.0 - - - 其它软件版本 - - cann: 6.3.RC1 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```bash - npu-smi info - ``` -- 监控项示例: - ```bash -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12 Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | -|---|---|---| -|Temp(C) | ascend_monitor.log | -|AICore(%) |ascend_monitor.log | -|Memory-Usage(MB) |ascend_monitor.log | -|Hugepages-Usage(page) |ascend_monitor.log | -|Power(W) |ascend_monitor.log | \ No newline at end of file diff --git a/.history/training/ascend/README_20240122102716.md b/.history/training/ascend/README_20240122102716.md deleted file mode 100644 index 42bfc0752..000000000 --- a/.history/training/ascend/README_20240122102716.md +++ /dev/null @@ -1,59 +0,0 @@ -# 厂商信息 - -官网: https://www.hiascend.com/zh/ - -昇腾计算产业生态包括围绕着昇腾计算技术和产品体系所开展的学术、技术、公益及商业活动,产生的知识和产品以及各种合作伙伴,主要包括原始设备制造商OEM、原始设计制造商ODM、 独立硬件开发商IHV、咨询与解决方案集成商C&SI、独立软件开发商ISV、云服务提供商XaaS等。 -同时,昇腾的合作伙伴体系当中还包含围绕昇腾相关产品对外提供服务交付的服务类伙伴,提供培训服务的人才联盟伙伴,提供投融资和运营服务的投融资运营伙伴等。 -昇腾高度重视高校的人才培养和昇腾开发者的发展,让高校和开发者成为整个昇腾生态的重要组成部分。 - -# FlagPerf适配验证环境说明 -## 环境配置参考 - - 硬件 - - 机器型号: - - 多机网络类型、带宽: RoCE,100 Gb/s - - 软件 - - OS版本:Ubuntu 18.04.1 LTS - - OS kernel版本: Linux 4.15.0-29-generic aarch64 - - Docker 版本: 19.03.6 - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:training/ascend/docker_image/\/Dockerfile - - 构建后软件安装脚本: training/ascend/docker_image/\/\_install.sh - -- 核心软件信息 - - - AI框架&版本 - - mindspore: 1.10.0 - - - 其它软件版本 - - cann: 6.3.RC1 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```bash - npu-smi info - ``` -- 监控项示例: - ```bash -+----------------------------------------------------------------------------------------------------+ -| npu-smi 22.0.3 Version: 22.0.3 | -+-------------------+-----------------+--------------------------------------------------------------+ -| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page) | -| Chip Device | Bus-Id | AICore(%) Memory-Usage(MB) | -+===================+=================+==============================================================+ -| 4 910A | OK | NA 43 0 / 970 | -| 0 0 | 0000:81:00.0 | 0 861 / 21534 | -+===================+=================+==============================================================+ - ``` -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | -|---|---|---| -|Temp(C) | ascend_monitor.log | -|AICore(%) |ascend_monitor.log | -|Memory-Usage(MB) |ascend_monitor.log | -|Hugepages-Usage(page) |ascend_monitor.log | -|Power(W) |ascend_monitor.log | \ No newline at end of file diff --git a/.history/training/metax/README_20240122095833.md b/.history/training/metax/README_20240122095833.md deleted file mode 100644 index c8eb6dbc0..000000000 --- a/.history/training/metax/README_20240122095833.md +++ /dev/null @@ -1,74 +0,0 @@ -# 厂商信息 -昆仑芯(北京)科技有限公司前身为百度智能芯片及架构部,于2021年4月完成独立融资,首轮估值约130亿元。公司团队在国内最早布局AI加速领域,深耕十余年,是一家在体系结构、芯片实现、软件系统和场景应用均有深厚积累的AI芯片企业。 - -R480-X8是昆仑芯推出的一款基于2代芯片的的AI加速器组,其采用一块通用基板R480,搭载8颗昆仑芯AI加速模块R300。R480是一款符合OAI(Open Accelerator Infrastructure)系列技术标准的通用基板,R300可基于R480通用基板实现芯片间互联,并且在单节点内8个芯片可组成2个通信环路,提供200GB/s片间互联双向聚合带宽。 -R480-X8基于多芯片间高速互联技术,单机可提供高达1 Peta Ops @FP16的AI算力和256G显存,聚合通信带宽高达200GBps,可构建大规模并行计算集群,支持大型模型训练和推理需求。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: 昆仑芯AI加速器组R480-X8 - - 加速卡型号: 昆仑芯AI加速卡R300 - - 多机网络类型、带宽: InfiniBand,200Gb/s - -- 软件 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:4.0.25 - - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 - - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 - - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 - - 依赖软件版本:pytorch-1.12.1+cpu - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile - - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122100022.md b/.history/training/metax/README_20240122100022.md deleted file mode 100644 index 1983acfc3..000000000 --- a/.history/training/metax/README_20240122100022.md +++ /dev/null @@ -1,76 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: 昆仑芯AI加速器组R480-X8 - - 加速卡型号: 昆仑芯AI加速卡R300 - - 多机网络类型、带宽: InfiniBand,200Gb/s - -- 软件 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:4.0.25 - - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 - - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 - - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 - - 依赖软件版本:pytorch-1.12.1+cpu - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile - - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122100023.md b/.history/training/metax/README_20240122100023.md deleted file mode 100644 index 1983acfc3..000000000 --- a/.history/training/metax/README_20240122100023.md +++ /dev/null @@ -1,76 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: 昆仑芯AI加速器组R480-X8 - - 加速卡型号: 昆仑芯AI加速卡R300 - - 多机网络类型、带宽: InfiniBand,200Gb/s - -- 软件 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:4.0.25 - - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 - - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 - - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 - - 依赖软件版本:pytorch-1.12.1+cpu - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile - - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122100024.md b/.history/training/metax/README_20240122100024.md deleted file mode 100644 index 1983acfc3..000000000 --- a/.history/training/metax/README_20240122100024.md +++ /dev/null @@ -1,76 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: 昆仑芯AI加速器组R480-X8 - - 加速卡型号: 昆仑芯AI加速卡R300 - - 多机网络类型、带宽: InfiniBand,200Gb/s - -- 软件 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:4.0.25 - - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 - - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 - - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 - - 依赖软件版本:pytorch-1.12.1+cpu - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile - - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122100652.md b/.history/training/metax/README_20240122100652.md deleted file mode 100644 index 2f2caa743..000000000 --- a/.history/training/metax/README_20240122100652.md +++ /dev/null @@ -1,76 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:4.0.25 - - Docker镜像和版本:pytorch1.12.1-cpu-ubuntu20.04:v0.01 - - 训练框架版本: xmlir 【[xmlir下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xacc-0.1.0-cp38-cp38-linux_x86_64.whl)】 - - 训练编译器版本: xacc 【[xacc下载](https://bd.bcebos.com/klx-pytorch-ipipe-bd/flagperf/latest/xmlir-0.0.1-cp38-cp38-linux_x86_64.whl)】 - - 依赖软件版本:pytorch-1.12.1+cpu - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile - - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122101536.md b/.history/training/metax/README_20240122101536.md deleted file mode 100644 index 23c5384af..000000000 --- a/.history/training/metax/README_20240122101536.md +++ /dev/null @@ -1,74 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile - - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122101537.md b/.history/training/metax/README_20240122101537.md deleted file mode 100644 index 23c5384af..000000000 --- a/.history/training/metax/README_20240122101537.md +++ /dev/null @@ -1,74 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:kunlunxin/docker_image/pytorch/Dockerfile - - 构建后软件安装脚本:kunlunxin/docker_image/pytorch/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122101841.md b/.history/training/metax/README_20240122101841.md deleted file mode 100644 index 85c8c5d6a..000000000 --- a/.history/training/metax/README_20240122101841.md +++ /dev/null @@ -1,74 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122101842.md b/.history/training/metax/README_20240122101842.md deleted file mode 100644 index 85c8c5d6a..000000000 --- a/.history/training/metax/README_20240122101842.md +++ /dev/null @@ -1,74 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&版本 - - torch: pytorch-1.12.1+cpu - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - xpu_smi | grep xpu | awk '{print $29"C",$27"W",$22"MiB",$24"MiB",$14"%"}' - ``` -- 监控项示例: - ```shell - 37C 74W 0MiB 32768MiB 0% - 40C 114W 28653MiB 32768MiB 94% - 34C 74W 0MiB 32768MiB 0% - 37C 71W 0MiB 32768MiB 0% - 43C 99W 28934MiB 32768MiB 99% - 39C 74W 0MiB 32768MiB 0% - 46C 114W 23730MiB 32768MiB 100% - 38C 73W 0MiB 32768MiB 0% - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122102846.md b/.history/training/metax/README_20240122102846.md deleted file mode 100644 index 5cceafbd0..000000000 --- a/.history/training/metax/README_20240122102846.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12 Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122102847.md b/.history/training/metax/README_20240122102847.md deleted file mode 100644 index 5cceafbd0..000000000 --- a/.history/training/metax/README_20240122102847.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12 Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103442.md b/.history/training/metax/README_20240122103442.md deleted file mode 100644 index 9f7dbbfef..000000000 --- a/.history/training/metax/README_20240122103442.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12  Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103449.md b/.history/training/metax/README_20240122103449.md deleted file mode 100644 index 40f0ff7b9..000000000 --- a/.history/training/metax/README_20240122103449.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103456.md b/.history/training/metax/README_20240122103456.md deleted file mode 100644 index 40f0ff7b9..000000000 --- a/.history/training/metax/README_20240122103456.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103501.md b/.history/training/metax/README_20240122103501.md deleted file mode 100644 index 9c1efe20e..000000000 --- a/.history/training/metax/README_20240122103501.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12                Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103502.md b/.history/training/metax/README_20240122103502.md deleted file mode 100644 index 9c1efe20e..000000000 --- a/.history/training/metax/README_20240122103502.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12                Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103505.md b/.history/training/metax/README_20240122103505.md deleted file mode 100644 index f2b33db7c..000000000 --- a/.history/training/metax/README_20240122103505.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12                    Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103510.md b/.history/training/metax/README_20240122103510.md deleted file mode 100644 index 820e88f8f..000000000 --- a/.history/training/metax/README_20240122103510.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -| MX-SMI 2.0.12                  Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103659.md b/.history/training/metax/README_20240122103659.md deleted file mode 100644 index 2282d1fb0..000000000 --- a/.history/training/metax/README_20240122103659.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12                Kernel Mode Driver Version: 2.2.0 | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103724.md b/.history/training/metax/README_20240122103724.md deleted file mode 100644 index 96fa9f89e..000000000 --- a/.history/training/metax/README_20240122103724.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -| MACA Version: 2.0 BIOS Version: 1.0.102.0 | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103814.md b/.history/training/metax/README_20240122103814.md deleted file mode 100644 index f72fac1f0..000000000 --- a/.history/training/metax/README_20240122103814.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0         BIOS Version: 1.0.102.0      | -|------------------------------------+---------------------+----------------------+ -| GPU NAME | Bus-id | GPU-Util | -| Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122103956.md b/.history/training/metax/README_20240122103956.md deleted file mode 100644 index b463bc66c..000000000 --- a/.history/training/metax/README_20240122103956.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0         BIOS Version: 1.0.102.0      | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104013.md b/.history/training/metax/README_20240122104013.md deleted file mode 100644 index 0c473d475..000000000 --- a/.history/training/metax/README_20240122104013.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0                BIOS Version: 1.0.102.0      | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104021.md b/.history/training/metax/README_20240122104021.md deleted file mode 100644 index cc84a0a1a..000000000 --- a/.history/training/metax/README_20240122104021.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0      | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104027.md b/.history/training/metax/README_20240122104027.md deleted file mode 100644 index b8b3ac3ff..000000000 --- a/.history/training/metax/README_20240122104027.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0      | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104031.md b/.history/training/metax/README_20240122104031.md deleted file mode 100644 index 94e84b8f7..000000000 --- a/.history/training/metax/README_20240122104031.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0      | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104045.md b/.history/training/metax/README_20240122104045.md deleted file mode 100644 index a6c60186a..000000000 --- a/.history/training/metax/README_20240122104045.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0       | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104052.md b/.history/training/metax/README_20240122104052.md deleted file mode 100644 index 763da6d40..000000000 --- a/.history/training/metax/README_20240122104052.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104053.md b/.history/training/metax/README_20240122104053.md deleted file mode 100644 index 763da6d40..000000000 --- a/.history/training/metax/README_20240122104053.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104102.md b/.history/training/metax/README_20240122104102.md deleted file mode 100644 index 4c86f00e8..000000000 --- a/.history/training/metax/README_20240122104102.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104111.md b/.history/training/metax/README_20240122104111.md deleted file mode 100644 index 15502d8f2..000000000 --- a/.history/training/metax/README_20240122104111.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104123.md b/.history/training/metax/README_20240122104123.md deleted file mode 100644 index 93d68250b..000000000 --- a/.history/training/metax/README_20240122104123.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12            Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0       | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104245.md b/.history/training/metax/README_20240122104245.md deleted file mode 100644 index 694f07aa9..000000000 --- a/.history/training/metax/README_20240122104245.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12            Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104258.md b/.history/training/metax/README_20240122104258.md deleted file mode 100644 index bcfcd065e..000000000 --- a/.history/training/metax/README_20240122104258.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104259.md b/.history/training/metax/README_20240122104259.md deleted file mode 100644 index bcfcd065e..000000000 --- a/.history/training/metax/README_20240122104259.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0      | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104319.md b/.history/training/metax/README_20240122104319.md deleted file mode 100644 index 65f4bf6ca..000000000 --- a/.history/training/metax/README_20240122104319.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104329.md b/.history/training/metax/README_20240122104329.md deleted file mode 100644 index 5480167be..000000000 --- a/.history/training/metax/README_20240122104329.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0        | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104332.md b/.history/training/metax/README_20240122104332.md deleted file mode 100644 index e4f87cef2..000000000 --- a/.history/training/metax/README_20240122104332.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU NAME | Bus-id | GPU-Util | -|  Temp Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104402.md b/.history/training/metax/README_20240122104402.md deleted file mode 100644 index 61b35725f..000000000 --- a/.history/training/metax/README_20240122104402.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU  NAME | Bus-id | GPU-Util | -|  Temp  Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104431.md b/.history/training/metax/README_20240122104431.md deleted file mode 100644 index a06a1f83e..000000000 --- a/.history/training/metax/README_20240122104431.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU   NAME | Bus-id | GPU-Util | -|  Temp  Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104432.md b/.history/training/metax/README_20240122104432.md deleted file mode 100644 index a06a1f83e..000000000 --- a/.history/training/metax/README_20240122104432.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU   NAME | Bus-id | GPU-Util | -|  Temp  Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104442.md b/.history/training/metax/README_20240122104442.md deleted file mode 100644 index e33f13f88..000000000 --- a/.history/training/metax/README_20240122104442.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME | Bus-id | GPU-Util | -|  Temp  Power | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104500.md b/.history/training/metax/README_20240122104500.md deleted file mode 100644 index 1e0b99706..000000000 --- a/.history/training/metax/README_20240122104500.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME     | Bus-id | GPU-Util | -|  Temp  Power    | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122104633.md b/.history/training/metax/README_20240122104633.md deleted file mode 100644 index 1e0b99706..000000000 --- a/.history/training/metax/README_20240122104633.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME     | Bus-id | GPU-Util | -|  Temp  Power    | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122105735.md b/.history/training/metax/README_20240122105735.md deleted file mode 100644 index e29ed3b63..000000000 --- a/.history/training/metax/README_20240122105735.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-id | GPU-Util | -|  Temp  Power          | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122105736.md b/.history/training/metax/README_20240122105736.md deleted file mode 100644 index e29ed3b63..000000000 --- a/.history/training/metax/README_20240122105736.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-id | GPU-Util | -|  Temp  Power          | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122110105.md b/.history/training/metax/README_20240122110105.md deleted file mode 100644 index 494b592e5..000000000 --- a/.history/training/metax/README_20240122110105.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-id | GPU-Util | -|  Temp  Power          | Memory-Usage | | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122110124.md b/.history/training/metax/README_20240122110124.md deleted file mode 100644 index 39b9c2c83..000000000 --- a/.history/training/metax/README_20240122110124.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util | -|  Temp  Power          | Memory-Usage      | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122110125.md b/.history/training/metax/README_20240122110125.md deleted file mode 100644 index 39b9c2c83..000000000 --- a/.history/training/metax/README_20240122110125.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util | -|  Temp  Power          | Memory-Usage      | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122110203.md b/.history/training/metax/README_20240122110203.md deleted file mode 100644 index 11990fcae..000000000 --- a/.history/training/metax/README_20240122110203.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util    | -|  Temp  Power          | Memory-Usage         | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111158.md b/.history/training/metax/README_20240122111158.md deleted file mode 100644 index 647ac31c3..000000000 --- a/.history/training/metax/README_20240122111158.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage         | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111159.md b/.history/training/metax/README_20240122111159.md deleted file mode 100644 index 647ac31c3..000000000 --- a/.history/training/metax/README_20240122111159.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage         | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111214.md b/.history/training/metax/README_20240122111214.md deleted file mode 100644 index e24a3b60e..000000000 --- a/.history/training/metax/README_20240122111214.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage         | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111215.md b/.history/training/metax/README_20240122111215.md deleted file mode 100644 index e24a3b60e..000000000 --- a/.history/training/metax/README_20240122111215.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage         | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111220.md b/.history/training/metax/README_20240122111220.md deleted file mode 100644 index c1471269d..000000000 --- a/.history/training/metax/README_20240122111220.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage           | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111224.md b/.history/training/metax/README_20240122111224.md deleted file mode 100644 index 63ae9b16b..000000000 --- a/.history/training/metax/README_20240122111224.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage            | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111257.md b/.history/training/metax/README_20240122111257.md deleted file mode 100644 index 69189160d..000000000 --- a/.history/training/metax/README_20240122111257.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage     |       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111316.md b/.history/training/metax/README_20240122111316.md deleted file mode 100644 index 9bf09ef9f..000000000 --- a/.history/training/metax/README_20240122111316.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage  &emsp|       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111326.md b/.history/training/metax/README_20240122111326.md deleted file mode 100644 index 56a3f2837..000000000 --- a/.history/training/metax/README_20240122111326.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage  |       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111333.md b/.history/training/metax/README_20240122111333.md deleted file mode 100644 index 0c92bd01c..000000000 --- a/.history/training/metax/README_20240122111333.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage |       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111334.md b/.history/training/metax/README_20240122111334.md deleted file mode 100644 index 0c92bd01c..000000000 --- a/.history/training/metax/README_20240122111334.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i     | GPU-Util     | -|  Temp  Power          | Memory-Usage |       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111356.md b/.history/training/metax/README_20240122111356.md deleted file mode 100644 index da35a7ef8..000000000 --- a/.history/training/metax/README_20240122111356.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i        | GPU-Util     | -|  Temp  Power          | Memory-Usage ;   |       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111403.md b/.history/training/metax/README_20240122111403.md deleted file mode 100644 index 9522ac4fa..000000000 --- a/.history/training/metax/README_20240122111403.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i        | GPU-Util     | -|  Temp  Power          | Memory-Usage    |       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122111404.md b/.history/training/metax/README_20240122111404.md deleted file mode 100644 index 9522ac4fa..000000000 --- a/.history/training/metax/README_20240122111404.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i        | GPU-Util     | -|  Temp  Power          | Memory-Usage    |       | -|====================================+=====================+======================| -| 0 MXC500 | 0000:1b:00.0 | 0% | -| 35C 56W | 914/65536 MiB | | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112025.md b/.history/training/metax/README_20240122112025.md deleted file mode 100644 index 7a7387200..000000000 --- a/.history/training/metax/README_20240122112025.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i        | GPU-Util     | -|  Temp  Power          | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112059.md b/.history/training/metax/README_20240122112059.md deleted file mode 100644 index 07967e48a..000000000 --- a/.history/training/metax/README_20240122112059.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i        | GPU-Util     | -|  Temp  Power          | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112100.md b/.history/training/metax/README_20240122112100.md deleted file mode 100644 index 07967e48a..000000000 --- a/.history/training/metax/README_20240122112100.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME         | Bus-i        | GPU-Util     | -|  Temp  Power          | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112126.md b/.history/training/metax/README_20240122112126.md deleted file mode 100644 index 3254838ae..000000000 --- a/.history/training/metax/README_20240122112126.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       &emsp| Bus-i        | GPU-Util     | -|  Temp  Power        | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112133.md b/.history/training/metax/README_20240122112133.md deleted file mode 100644 index a2d77af7e..000000000 --- a/.history/training/metax/README_20240122112133.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i        | GPU-Util     | -|  Temp  Power        | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112141.md b/.history/training/metax/README_20240122112141.md deleted file mode 100644 index 1f5301d4d..000000000 --- a/.history/training/metax/README_20240122112141.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i        | GPU-Util     | -|  Temp  Power       | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112156.md b/.history/training/metax/README_20240122112156.md deleted file mode 100644 index b42b9dbd7..000000000 --- a/.history/training/metax/README_20240122112156.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i      | GPU-Util     | -|  Temp  Power       | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112207.md b/.history/training/metax/README_20240122112207.md deleted file mode 100644 index c81543c29..000000000 --- a/.history/training/metax/README_20240122112207.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112222.md b/.history/training/metax/README_20240122112222.md deleted file mode 100644 index 3d532d47f..000000000 --- a/.history/training/metax/README_20240122112222.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage  |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112229.md b/.history/training/metax/README_20240122112229.md deleted file mode 100644 index d583d7ada..000000000 --- a/.history/training/metax/README_20240122112229.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112237.md b/.history/training/metax/README_20240122112237.md deleted file mode 100644 index 1f3ea12e0..000000000 --- a/.history/training/metax/README_20240122112237.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage   |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112242.md b/.history/training/metax/README_20240122112242.md deleted file mode 100644 index 67b374d9a..000000000 --- a/.history/training/metax/README_20240122112242.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage    |       | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112251.md b/.history/training/metax/README_20240122112251.md deleted file mode 100644 index 497376e1d..000000000 --- a/.history/training/metax/README_20240122112251.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage    |         | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112255.md b/.history/training/metax/README_20240122112255.md deleted file mode 100644 index 744aaf61a..000000000 --- a/.history/training/metax/README_20240122112255.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage    |           | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112259.md b/.history/training/metax/README_20240122112259.md deleted file mode 100644 index b9fd25b82..000000000 --- a/.history/training/metax/README_20240122112259.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage    |             | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112310.md b/.history/training/metax/README_20240122112310.md deleted file mode 100644 index dcae8d81f..000000000 --- a/.history/training/metax/README_20240122112310.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage    |           | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112311.md b/.history/training/metax/README_20240122112311.md deleted file mode 100644 index dcae8d81f..000000000 --- a/.history/training/metax/README_20240122112311.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util     | -|  Temp  Power       | Memory-Usage    |           | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112413.md b/.history/training/metax/README_20240122112413.md deleted file mode 100644 index 9b56568e3..000000000 --- a/.history/training/metax/README_20240122112413.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112414.md b/.history/training/metax/README_20240122112414.md deleted file mode 100644 index 9b56568e3..000000000 --- a/.history/training/metax/README_20240122112414.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112436.md b/.history/training/metax/README_20240122112436.md deleted file mode 100644 index 5d696e3b9..000000000 --- a/.history/training/metax/README_20240122112436.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|====================================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112443.md b/.history/training/metax/README_20240122112443.md deleted file mode 100644 index 4a61703eb..000000000 --- a/.history/training/metax/README_20240122112443.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=======================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112448.md b/.history/training/metax/README_20240122112448.md deleted file mode 100644 index 50db8589e..000000000 --- a/.history/training/metax/README_20240122112448.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+=====================+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112454.md b/.history/training/metax/README_20240122112454.md deleted file mode 100644 index bc72bdcaa..000000000 --- a/.history/training/metax/README_20240122112454.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+==============+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112458.md b/.history/training/metax/README_20240122112458.md deleted file mode 100644 index 7bacda950..000000000 --- a/.history/training/metax/README_20240122112458.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+=============+======================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112506.md b/.history/training/metax/README_20240122112506.md deleted file mode 100644 index 6745a5fd1..000000000 --- a/.history/training/metax/README_20240122112506.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+=============+====================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112507.md b/.history/training/metax/README_20240122112507.md deleted file mode 100644 index 6745a5fd1..000000000 --- a/.history/training/metax/README_20240122112507.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+=============+====================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112512.md b/.history/training/metax/README_20240122112512.md deleted file mode 100644 index 53dac2298..000000000 --- a/.history/training/metax/README_20240122112512.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+====================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112521.md b/.history/training/metax/README_20240122112521.md deleted file mode 100644 index e5b91e924..000000000 --- a/.history/training/metax/README_20240122112521.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+================| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112524.md b/.history/training/metax/README_20240122112524.md deleted file mode 100644 index 3f6a7cff5..000000000 --- a/.history/training/metax/README_20240122112524.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112525.md b/.history/training/metax/README_20240122112525.md deleted file mode 100644 index 3f6a7cff5..000000000 --- a/.history/training/metax/README_20240122112525.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112528.md b/.history/training/metax/README_20240122112528.md deleted file mode 100644 index a54c81080..000000000 --- a/.history/training/metax/README_20240122112528.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+=============| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112533.md b/.history/training/metax/README_20240122112533.md deleted file mode 100644 index 3f6a7cff5..000000000 --- a/.history/training/metax/README_20240122112533.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112534.md b/.history/training/metax/README_20240122112534.md deleted file mode 100644 index 3f6a7cff5..000000000 --- a/.history/training/metax/README_20240122112534.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -| 0    MXC500     | 0000:1b:00.0     | 0%     | -| 35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112544.md b/.history/training/metax/README_20240122112544.md deleted file mode 100644 index cb5e41e73..000000000 --- a/.history/training/metax/README_20240122112544.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500     | 0000:1b:00.0     | 0%     | -|  35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112545.md b/.history/training/metax/README_20240122112545.md deleted file mode 100644 index cb5e41e73..000000000 --- a/.history/training/metax/README_20240122112545.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500     | 0000:1b:00.0     | 0%     | -|  35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112606.md b/.history/training/metax/README_20240122112606.md deleted file mode 100644 index c3d6e5e48..000000000 --- a/.history/training/metax/README_20240122112606.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500       | 0000:1b:00.0     | 0%     | -|  35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112719.md b/.history/training/metax/README_20240122112719.md deleted file mode 100644 index 21f930513..000000000 --- a/.history/training/metax/README_20240122112719.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C     56W     | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112724.md b/.history/training/metax/README_20240122112724.md deleted file mode 100644 index 16c57af63..000000000 --- a/.history/training/metax/README_20240122112724.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C     56W       | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112727.md b/.history/training/metax/README_20240122112727.md deleted file mode 100644 index f3262717e..000000000 --- a/.history/training/metax/README_20240122112727.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C     56W         | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112728.md b/.history/training/metax/README_20240122112728.md deleted file mode 100644 index f3262717e..000000000 --- a/.history/training/metax/README_20240122112728.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C     56W         | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112738.md b/.history/training/metax/README_20240122112738.md deleted file mode 100644 index 17bd3dbec..000000000 --- a/.history/training/metax/README_20240122112738.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C     56W           | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112742.md b/.history/training/metax/README_20240122112742.md deleted file mode 100644 index 1e71f9ec7..000000000 --- a/.history/training/metax/README_20240122112742.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C    56W           | 914/65536 MiB     |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112752.md b/.history/training/metax/README_20240122112752.md deleted file mode 100644 index 6223ec1f8..000000000 --- a/.history/training/metax/README_20240122112752.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C    56W           | 914/65536 MiB    |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112801.md b/.history/training/metax/README_20240122112801.md deleted file mode 100644 index f7894c4eb..000000000 --- a/.history/training/metax/README_20240122112801.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C    56W           | 914/65536 MiB   |     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112809.md b/.history/training/metax/README_20240122112809.md deleted file mode 100644 index 46d8ddb0a..000000000 --- a/.history/training/metax/README_20240122112809.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0     | 0%     | -|  35C    56W           | 914/65536 MiB   |       &thinsp | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112823.md b/.history/training/metax/README_20240122112823.md deleted file mode 100644 index bd3fbe8a9..000000000 --- a/.history/training/metax/README_20240122112823.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%   | -|  35C    56W           | 914/65536 MiB   |       &thinsp | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112833.md b/.history/training/metax/README_20240122112833.md deleted file mode 100644 index f24ed5830..000000000 --- a/.history/training/metax/README_20240122112833.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%     | -|  35C    56W           | 914/65536 MiB   |         | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112845.md b/.history/training/metax/README_20240122112845.md deleted file mode 100644 index 840fa14cc..000000000 --- a/.history/training/metax/README_20240122112845.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%        | -|  35C    56W           | 914/65536 MiB   |           | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112852.md b/.history/training/metax/README_20240122112852.md deleted file mode 100644 index 1cd36a453..000000000 --- a/.history/training/metax/README_20240122112852.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%           | -|  35C    56W           | 914/65536 MiB   |              | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112857.md b/.history/training/metax/README_20240122112857.md deleted file mode 100644 index cab191b9e..000000000 --- a/.history/training/metax/README_20240122112857.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%              | -|  35C    56W           | 914/65536 MiB   |                 | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112901.md b/.history/training/metax/README_20240122112901.md deleted file mode 100644 index 864a9e7f2..000000000 --- a/.history/training/metax/README_20240122112901.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%                 | -|  35C    56W           | 914/65536 MiB   |                    | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112910.md b/.history/training/metax/README_20240122112910.md deleted file mode 100644 index ef4d57026..000000000 --- a/.history/training/metax/README_20240122112910.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%               | -|  35C    56W           | 914/65536 MiB   |                  | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112931.md b/.history/training/metax/README_20240122112931.md deleted file mode 100644 index 91bf58387..000000000 --- a/.history/training/metax/README_20240122112931.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%               | -|  35C    56W           | 914/65536 MiB |                  | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112936.md b/.history/training/metax/README_20240122112936.md deleted file mode 100644 index d8c267484..000000000 --- a/.history/training/metax/README_20240122112936.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%               | -|  35C    56W           | 914/65536 MiB   |                  | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112944.md b/.history/training/metax/README_20240122112944.md deleted file mode 100644 index 8cc3c3065..000000000 --- a/.history/training/metax/README_20240122112944.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0    | 0%               | -|  35C    56W           | 914/65536 MiB       |                  | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122112952.md b/.history/training/metax/README_20240122112952.md deleted file mode 100644 index 3f33432ec..000000000 --- a/.history/training/metax/README_20240122112952.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |                  | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113021.md b/.history/training/metax/README_20240122113021.md deleted file mode 100644 index 1ec11c9bc..000000000 --- a/.history/training/metax/README_20240122113021.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |                    | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113031.md b/.history/training/metax/README_20240122113031.md deleted file mode 100644 index 3f33432ec..000000000 --- a/.history/training/metax/README_20240122113031.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |                  | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113035.md b/.history/training/metax/README_20240122113035.md deleted file mode 100644 index 154b71eac..000000000 --- a/.history/training/metax/README_20240122113035.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |                     | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113039.md b/.history/training/metax/README_20240122113039.md deleted file mode 100644 index ef37da936..000000000 --- a/.history/training/metax/README_20240122113039.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |                       | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113053.md b/.history/training/metax/README_20240122113053.md deleted file mode 100644 index c7c51fa42..000000000 --- a/.history/training/metax/README_20240122113053.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |              | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113101.md b/.history/training/metax/README_20240122113101.md deleted file mode 100644 index e3bfb2c2a..000000000 --- a/.history/training/metax/README_20240122113101.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| kunlunxin_monitor.log | xxx C | -|功耗 |kunlunxin_monitor.log | xxx W | -|显存占用大小 |kunlunxin_monitor.log |xxx MiB | -|总显存大小 |kunlunxin_monitor.log |xxx MiB | -|显存使用率 |kunlunxin_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113227.md b/.history/training/metax/README_20240122113227.md deleted file mode 100644 index c8fe033d2..000000000 --- a/.history/training/metax/README_20240122113227.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| nvidia_monitor.log | xxx C | -|功耗 |nvidia_monitor.log | xxx W | -|显存占用大小 |nvidia_monitor.log |xxx MiB | -|总显存大小 |nvidia_monitor.log |xxx MiB | -|显存使用率 |nvidia_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113228.md b/.history/training/metax/README_20240122113228.md deleted file mode 100644 index c8fe033d2..000000000 --- a/.history/training/metax/README_20240122113228.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| nvidia_monitor.log | xxx C | -|功耗 |nvidia_monitor.log | xxx W | -|显存占用大小 |nvidia_monitor.log |xxx MiB | -|总显存大小 |nvidia_monitor.log |xxx MiB | -|显存使用率 |nvidia_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113230.md b/.history/training/metax/README_20240122113230.md deleted file mode 100644 index c8fe033d2..000000000 --- a/.history/training/metax/README_20240122113230.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| nvidia_monitor.log | xxx C | -|功耗 |nvidia_monitor.log | xxx W | -|显存占用大小 |nvidia_monitor.log |xxx MiB | -|总显存大小 |nvidia_monitor.log |xxx MiB | -|显存使用率 |nvidia_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113231.md b/.history/training/metax/README_20240122113231.md deleted file mode 100644 index c8fe033d2..000000000 --- a/.history/training/metax/README_20240122113231.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| nvidia_monitor.log | xxx C | -|功耗 |nvidia_monitor.log | xxx W | -|显存占用大小 |nvidia_monitor.log |xxx MiB | -|总显存大小 |nvidia_monitor.log |xxx MiB | -|显存使用率 |nvidia_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113232.md b/.history/training/metax/README_20240122113232.md deleted file mode 100644 index c8fe033d2..000000000 --- a/.history/training/metax/README_20240122113232.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| nvidia_monitor.log | xxx C | -|功耗 |nvidia_monitor.log | xxx W | -|显存占用大小 |nvidia_monitor.log |xxx MiB | -|总显存大小 |nvidia_monitor.log |xxx MiB | -|显存使用率 |nvidia_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113233.md b/.history/training/metax/README_20240122113233.md deleted file mode 100644 index c8fe033d2..000000000 --- a/.history/training/metax/README_20240122113233.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| nvidia_monitor.log | xxx C | -|功耗 |nvidia_monitor.log | xxx W | -|显存占用大小 |nvidia_monitor.log |xxx MiB | -|总显存大小 |nvidia_monitor.log |xxx MiB | -|显存使用率 |nvidia_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113251.md b/.history/training/metax/README_20240122113251.md deleted file mode 100644 index c5972cdbe..000000000 --- a/.history/training/metax/README_20240122113251.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122113252.md b/.history/training/metax/README_20240122113252.md deleted file mode 100644 index c5972cdbe..000000000 --- a/.history/training/metax/README_20240122113252.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - ```shell -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - ``` - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122120442.md b/.history/training/metax/README_20240122120442.md deleted file mode 100644 index 0508f7844..000000000 --- a/.history/training/metax/README_20240122120442.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122122457.md b/.history/training/metax/README_20240122122457.md deleted file mode 100644 index 54736dcac..000000000 --- a/.history/training/metax/README_20240122122457.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122122513.md b/.history/training/metax/README_20240122122513.md deleted file mode 100644 index 21205be75..000000000 --- a/.history/training/metax/README_20240122122513.md +++ /dev/null @@ -1,77 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - -## 产品优势: - -- 灵活易用:昆仑芯SDK可提供从底层驱动环境到上层模型转换等全栈的软件工具。 - -- 生态完备 :已与多款通用处理器、操作系统、AI框架完成端到端的适配。 - -- 规模部署: 已在互联网、智慧工业、智慧交通、智慧金融等场景均有规模落地案例,实际部署数万片。 - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122124135.md b/.history/training/metax/README_20240122124135.md deleted file mode 100644 index 0277c305b..000000000 --- a/.history/training/metax/README_20240122124135.md +++ /dev/null @@ -1,70 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122124234.md b/.history/training/metax/README_20240122124234.md deleted file mode 100644 index f5464eb11..000000000 --- a/.history/training/metax/README_20240122124234.md +++ /dev/null @@ -1,70 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - - 多机网络类型、带宽: - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122131502.md b/.history/training/metax/README_20240122131502.md deleted file mode 100644 index a959636cc..000000000 --- a/.history/training/metax/README_20240122131502.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122131503.md b/.history/training/metax/README_20240122131503.md deleted file mode 100644 index a959636cc..000000000 --- a/.history/training/metax/README_20240122131503.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122131504.md b/.history/training/metax/README_20240122131504.md deleted file mode 100644 index a959636cc..000000000 --- a/.history/training/metax/README_20240122131504.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122131505.md b/.history/training/metax/README_20240122131505.md deleted file mode 100644 index a959636cc..000000000 --- a/.history/training/metax/README_20240122131505.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122131506.md b/.history/training/metax/README_20240122131506.md deleted file mode 100644 index a959636cc..000000000 --- a/.history/training/metax/README_20240122131506.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 18.04 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122133720.md b/.history/training/metax/README_20240122133720.md deleted file mode 100644 index 6c2e77ad9..000000000 --- a/.history/training/metax/README_20240122133720.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122134130.md b/.history/training/metax/README_20240122134130.md deleted file mode 100644 index 6c2e77ad9..000000000 --- a/.history/training/metax/README_20240122134130.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本 - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122134307.md b/.history/training/metax/README_20240122134307.md deleted file mode 100644 index db29e1537..000000000 --- a/.history/training/metax/README_20240122134307.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本: - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122134308.md b/.history/training/metax/README_20240122134308.md deleted file mode 100644 index db29e1537..000000000 --- a/.history/training/metax/README_20240122134308.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本: - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/README_20240122134323.md b/.history/training/metax/README_20240122134323.md deleted file mode 100644 index 2513acdcf..000000000 --- a/.history/training/metax/README_20240122134323.md +++ /dev/null @@ -1,69 +0,0 @@ -# 厂商信息 - -官网: https://www.metax-tech.com/ - -沐曦集成电路(上海)有限公司,于2020年9月成立于上海,并在北京、南京、成都、杭州、深圳、武汉和长沙等地建立了全资子公司暨研发中心。沐曦拥有技术完备、设计和产业化经验丰富的团队,核心成员平均拥有近20年高性能GPU产品端到端研发经验,曾主导过十多款世界主流高性能GPU产品研发及量产,包括GPU架构定义、GPU IP设计、GPU SoC设计及GPU系统解决方案的量产交付全流程。 - -沐曦致力于为异构计算提供全栈GPU芯片及解决方案,可广泛应用于智算、智慧城市、云计算、自动驾驶、数字孪生、元宇宙等前沿领域,为数字经济发展提供强大的算力支撑。 - -沐曦打造全栈GPU芯片产品,推出曦思®N系列GPU产品用于智算推理,曦云®C系列GPU产品用于通用计算,以及曦彩®G系列GPU产品用于图形渲染,满足“高能效”和“高通用性”的算力需求。沐曦产品均采用完全自主研发的GPU IP,拥有完全自主知识产权的指令集和架构,配以兼容主流GPU生态的完整软件栈(MXMACA®),具备高能效和高通用性的天然优势,能够为客户构建软硬件一体的全面生态解决方案,是“双碳”背景下推动数字经济建设和产业数字化、智能化转型升级的算力基石。 - - - -# FlagPerf适配验证环境说明 -## 环境配置参考 -- 硬件 - - 机器型号: - - 加速卡型号: MX C500 - -- 软件 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker版本:24.0.7 - - -## 容器镜像信息 -- 容器构建信息 - - Dockerfile路径:metax/docker_image/pytorch_2.0/Dockerfile - - 构建后软件安装脚本:metax/docker_image/pytorch_2.0/pytorch_install.sh - -- 核心软件信息 - - AI框架&相关版本: - torch: pytorch-2.0 - torchvision: torchvision-0.15 - maca: 2.18.0.8 - - -## 加速卡监控采集 -- 加速卡使用信息采集命令 - - ```shell - mx_smi - ``` -- 监控项示例: - -+---------------------------------------------------------------------------------+ -|  MX-SMI 2.0.12          Kernel Mode Driver Version: 2.2.0        | -|  MACA Version: 2.0              BIOS Version: 1.0.102.0          | -|------------------------------------+---------------------+----------------------+ -|  GPU    NAME       | Bus-i       | GPU-Util      | -|  Temp  Power       | Memory-Usage    |           | -|=====================+============+==============| -|  0    MXC500         | 0000:1b:00.0      | 0%               | -|  35C    56W           | 914/65536 MiB       |               | -+------------------------------------+---------------------+----------------------+ - - -- 加速卡使用信息采集项说明 - -|监控项| 日志文件 | 格式 | -|---|---|---| -|温度| mx_monitor.log | xxx C | -|功耗 |mx_monitor.log | xxx W | -|显存占用大小 |mx_monitor.log |xxx MiB | -|总显存大小 |mx_monitor.log |xxx MiB | -|显存使用率 |mx_monitor.log |xxx % | - - - diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121816 b/.history/training/metax/docker_image/Dockerfile_20240122121816 deleted file mode 100644 index e69de29bb..000000000 diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121903 b/.history/training/metax/docker_image/Dockerfile_20240122121903 deleted file mode 100644 index 476c1448a..000000000 --- a/.history/training/metax/docker_image/Dockerfile_20240122121903 +++ /dev/null @@ -1,3 +0,0 @@ -FROM maca-2.18.0.8-ubuntu18.04-amd64:FlagPerf-base-v1 -ENV PATH="/opt/conda/bin:${PATH}" -RUN /bin/bash -c "uname -a" \ No newline at end of file diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121904 b/.history/training/metax/docker_image/Dockerfile_20240122121904 deleted file mode 100644 index 476c1448a..000000000 --- a/.history/training/metax/docker_image/Dockerfile_20240122121904 +++ /dev/null @@ -1,3 +0,0 @@ -FROM maca-2.18.0.8-ubuntu18.04-amd64:FlagPerf-base-v1 -ENV PATH="/opt/conda/bin:${PATH}" -RUN /bin/bash -c "uname -a" \ No newline at end of file diff --git a/.history/training/metax/docker_image/Dockerfile_20240122121905 b/.history/training/metax/docker_image/Dockerfile_20240122121905 deleted file mode 100644 index 476c1448a..000000000 --- a/.history/training/metax/docker_image/Dockerfile_20240122121905 +++ /dev/null @@ -1,3 +0,0 @@ -FROM maca-2.18.0.8-ubuntu18.04-amd64:FlagPerf-base-v1 -ENV PATH="/opt/conda/bin:${PATH}" -RUN /bin/bash -c "uname -a" \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122122914.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122122914.md deleted file mode 100644 index c1698b842..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122122914.md +++ /dev/null @@ -1,57 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123311.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123311.md deleted file mode 100644 index eee534bf0..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123311.md +++ /dev/null @@ -1,56 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123312.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123312.md deleted file mode 100644 index eee534bf0..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123312.md +++ /dev/null @@ -1,56 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123313.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123313.md deleted file mode 100644 index eee534bf0..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123313.md +++ /dev/null @@ -1,56 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123314.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123314.md deleted file mode 100644 index eee534bf0..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123314.md +++ /dev/null @@ -1,56 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_pat - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123335.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123335.md deleted file mode 100644 index 0209b54af..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123335.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123336.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123336.md deleted file mode 100644 index 0209b54af..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123336.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123632.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123632.md deleted file mode 100644 index 157007b2f..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123632.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123633.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123633.md deleted file mode 100644 index 157007b2f..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123633.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123703.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123703.md deleted file mode 100644 index 5211e7761..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123703.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123725.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123725.md deleted file mode 100644 index 5266e462e..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123725.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MX-C500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123807.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123807.md deleted file mode 100644 index 21a9c73b4..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123807.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123903.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123903.md deleted file mode 100644 index e3d8c77db..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123903.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | -| MXC500单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| MXC500两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123904.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123904.md deleted file mode 100644 index e3d8c77db..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123904.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | -| MXC500单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| MXC500两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123920.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123920.md deleted file mode 100644 index 405f9c77a..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123920.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122123921.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122123921.md deleted file mode 100644 index 405f9c77a..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122123921.md +++ /dev/null @@ -1,58 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机1卡(1x1) | fp32 | / | / | | | | / | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131554.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131554.md deleted file mode 100644 index 81ade9f7a..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122131554.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | / | | | | / | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16/ | / | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131555.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131555.md deleted file mode 100644 index 81ade9f7a..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122131555.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | / | | | | / | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16/ | / | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131638.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131638.md deleted file mode 100644 index 68bad664f..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122131638.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | / | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122131706.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122131706.md deleted file mode 100644 index e562c2342..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122131706.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142102.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142102.md deleted file mode 100644 index 3a1a73556..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122142102.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142112.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142112.md deleted file mode 100644 index fcf15df08..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122142112.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142118.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142118.md deleted file mode 100644 index d2a579642..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122142118.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142119.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142119.md deleted file mode 100644 index d2a579642..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122142119.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:maca-2.18.0.8 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240122142126.md b/.history/training/metax/faster_rcnn-pytorch/README_20240122142126.md deleted file mode 100644 index 76de6e773..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240122142126.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:20.10.8 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:24.0.7 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py deleted file mode 100644 index 5d1b75231..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121150.py +++ /dev/null @@ -1,4 +0,0 @@ -vendor: str = "nvidia" -train_batch_size = 16 -eval_batch_size = 16 -lr = 0.16 \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py deleted file mode 100644 index c11690f00..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122121432.py +++ /dev/null @@ -1,4 +0,0 @@ -vendor: str = "metax" -train_batch_size = 16 -eval_batch_size = 16 -lr = 0.16 \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py deleted file mode 100644 index 8bf845570..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122125.py +++ /dev/null @@ -1,4 +0,0 @@ -vendor: str = "metax" -train_batch_size = 16 -eval_batch_size = 16 -lr = 0.16 diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py deleted file mode 100644 index c11690f00..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x1_20240122122241.py +++ /dev/null @@ -1,4 +0,0 @@ -vendor: str = "metax" -train_batch_size = 16 -eval_batch_size = 16 -lr = 0.16 \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py deleted file mode 100644 index 8059dd7c6..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121150.py +++ /dev/null @@ -1,3 +0,0 @@ -vendor: str = "nvidia" -train_batch_size = 2 -eval_batch_size = 2 diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py deleted file mode 100644 index 842eda4bc..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121433.py +++ /dev/null @@ -1,3 +0,0 @@ -vendor: str = "metax" -train_batch_size = 2 -eval_batch_size = 2 diff --git a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py b/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py deleted file mode 100644 index 842eda4bc..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/config_A100x1x8_20240122121434.py +++ /dev/null @@ -1,3 +0,0 @@ -vendor: str = "metax" -train_batch_size = 2 -eval_batch_size = 2 diff --git a/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt b/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt deleted file mode 100644 index ef43dd9cb..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122121150.txt +++ /dev/null @@ -1,4 +0,0 @@ -torchvision -pycocotools -numpy -tqdm \ No newline at end of file diff --git a/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt b/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt deleted file mode 100644 index cc8d4dc61..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/config/requirements_20240122132509.txt +++ /dev/null @@ -1,3 +0,0 @@ -pycocotools -numpy -tqdm \ No newline at end of file diff --git a/.history/training/metax/metax_monitor_20240122120533.py b/.history/training/metax/metax_monitor_20240122120533.py deleted file mode 100644 index 0790f919f..000000000 --- a/.history/training/metax/metax_monitor_20240122120533.py +++ /dev/null @@ -1,288 +0,0 @@ -# !/usr/bin/env python3 -# encoding: utf-8 -''' -Usage: python3 sys-monitor.py -o operation -l [log_path] - -o, --operation start|stop|restart|status - -l, --log log path , ./logs/ default -''' - -import os -import sys -import time -import signal -import atexit -import argparse -import datetime -from multiprocessing import Process -import subprocess -import schedule - - -class Daemon: - ''' - daemon subprocess class. - usage: subclass this daemon and override the run() method. - sys-monitor.pid: in the /tmp/, auto del when unexpected exit. - verbose: debug mode, disabled default. - ''' - - def __init__(self, - pid_file, - log_file, - err_file, - gpu_log, - log_path, - rate=5, - stdin=os.devnull, - stdout=os.devnull, - stderr=os.devnull, - home_dir='.', - umask=0o22, - verbose=0): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.home_dir = home_dir - self.verbose = verbose - self.pidfile = pid_file - self.logfile = log_file - self.errfile = err_file - self.gpufile = gpu_log - self.logpath = log_path - self.rate = rate - self.umask = umask - self.verbose = verbose - self.daemon_alive = True - - def get_pid(self): - try: - with open(self.pidfile, 'r') as pf: - pid = int(pf.read().strip()) - except IOError: - pid = None - except SystemExit: - pid = None - return pid - - def del_pid(self): - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - - def run(self): - ''' - NOTE: override the method in subclass - ''' - - def gpu_mon(file): - TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') - cmd = "nvidia-smi |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" - process = subprocess.Popen(cmd, - shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - encoding='utf-8') - try: - out = process.communicate(timeout=10) - except subprocess.TimeoutExpired: - process.kill() - out = process.communicate() - - if process.returncode != 0: - result = "error" - result = TIMESTAMP + "\n" + out[0] + "\n" - with open(file, 'a') as f: - f.write(result) - - def timer_gpu_mon(): - gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) - gpu_process.start() - - schedule.every(self.rate).seconds.do(timer_gpu_mon) - while True: - schedule.run_pending() - time.sleep(5) - - def daemonize(self): - if self.verbose >= 1: - print('daemon process starting ...') - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #1 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - os.chdir(self.home_dir) - os.setsid() - os.umask(self.umask) - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #2 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - sys.stdout.flush() - sys.stderr.flush() - si = open(self.stdin, 'r') - so = open(self.stdout, 'a+') - if self.stderr: - se = open(self.stderr, 'a+') - else: - se = so - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - atexit.register(self.del_pid) - pid = str(os.getpid()) - with open(self.pidfile, 'w+') as f: - f.write('%s\n' % pid) - - def start(self): - if not os.path.exists(self.logpath): - os.makedirs(self.logpath) - elif os.path.exists(self.gpufile): - os.remove(self.gpufile) - if self.verbose >= 1: - print('ready to start ......') - # check for a pid file to see if the daemon already runs - pid = self.get_pid() - if pid: - msg = 'pid file %s already exists, is it already running?\n' - sys.stderr.write(msg % self.pidfile) - sys.exit(1) - # start the daemon - self.daemonize() - self.run() - - def stop(self): - if self.verbose >= 1: - print('stopping ...') - pid = self.get_pid() - if not pid: - msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile - sys.stderr.write(msg) - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - return - # try to kill the daemon process - try: - i = 0 - while 1: - os.kill(pid, signal.SIGTERM) - time.sleep(1) - i = i + 1 - if i % 10 == 0: - os.kill(pid, signal.SIGHUP) - except OSError as err: - err = str(err) - if err.find('No such process') > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - if self.verbose >= 1: - print('Stopped!') - - def restart(self): - self.stop() - self.start() - - def status(self): - pid = self.get_pid() - if pid: - if os.path.exists('/proc/%d' % pid): - return pid - return False - - -def parse_args(): - ''' Check script input parameter. ''' - parse = argparse.ArgumentParser(description='Sys monitor script') - parse.add_argument('-o', - type=str, - metavar='[operation]', - required=True, - help='start|stop|restart|status') - parse.add_argument('-l', - type=str, - metavar='[log_path]', - required=False, - default='./logs/', - help='log path') - args = parse.parse_args() - return args - - -def get_system_info(): - cmd = r"echo OS version:;" - cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo OS Kernel version:;" - cmd = cmd + r"uname -r;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Hardware Model:;" - cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Model:;" - cmd = cmd + r"nvidia-smi -L;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Driver version:;" - cmd = cmd + r"nvidia-smi | grep 'Driver Version' | awk '{print $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Docker version:;" - cmd = cmd + r"docker -v" - - return cmd - - -def main(): - sample_rate1 = 5 - args = parse_args() - operation = args.o - log_path = args.l - pid_fn = str('/tmp/gpu_monitor.pid') - log_fn = str(log_path + '/nvidia_monitor.log') - err_fn = str(log_path + '/nvidia_monitor.err') - # result for gpu - gpu_fn = str(log_path + '/nvidia_monitor.log') - - subdaemon = Daemon(pid_fn, - log_fn, - err_fn, - gpu_fn, - log_path, - verbose=1, - rate=sample_rate1) - if operation == 'start': - sys_fn = os.path.join(log_path, 'sys_info.log') - cmd = get_system_info() - with open(sys_fn, "w") as f: - p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) - p.wait() - subdaemon.start() - elif operation == 'stop': - subdaemon.stop() - elif operation == 'restart': - subdaemon.restart() - elif operation == 'status': - pid = subdaemon.status() - if pid: - print('process [%s] is running ......' % pid) - else: - print('daemon process [%s] stopped' % pid) - else: - print("invalid argument!") - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/.history/training/metax/metax_monitor_20240122120558.py b/.history/training/metax/metax_monitor_20240122120558.py deleted file mode 100644 index be32fcb0a..000000000 --- a/.history/training/metax/metax_monitor_20240122120558.py +++ /dev/null @@ -1,288 +0,0 @@ -# !/usr/bin/env python3 -# encoding: utf-8 -''' -Usage: python3 sys-monitor.py -o operation -l [log_path] - -o, --operation start|stop|restart|status - -l, --log log path , ./logs/ default -''' - -import os -import sys -import time -import signal -import atexit -import argparse -import datetime -from multiprocessing import Process -import subprocess -import schedule - - -class Daemon: - ''' - daemon subprocess class. - usage: subclass this daemon and override the run() method. - sys-monitor.pid: in the /tmp/, auto del when unexpected exit. - verbose: debug mode, disabled default. - ''' - - def __init__(self, - pid_file, - log_file, - err_file, - gpu_log, - log_path, - rate=5, - stdin=os.devnull, - stdout=os.devnull, - stderr=os.devnull, - home_dir='.', - umask=0o22, - verbose=0): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.home_dir = home_dir - self.verbose = verbose - self.pidfile = pid_file - self.logfile = log_file - self.errfile = err_file - self.gpufile = gpu_log - self.logpath = log_path - self.rate = rate - self.umask = umask - self.verbose = verbose - self.daemon_alive = True - - def get_pid(self): - try: - with open(self.pidfile, 'r') as pf: - pid = int(pf.read().strip()) - except IOError: - pid = None - except SystemExit: - pid = None - return pid - - def del_pid(self): - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - - def run(self): - ''' - NOTE: override the method in subclass - ''' - - def gpu_mon(file): - TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') - cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" - process = subprocess.Popen(cmd, - shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - encoding='utf-8') - try: - out = process.communicate(timeout=10) - except subprocess.TimeoutExpired: - process.kill() - out = process.communicate() - - if process.returncode != 0: - result = "error" - result = TIMESTAMP + "\n" + out[0] + "\n" - with open(file, 'a') as f: - f.write(result) - - def timer_gpu_mon(): - gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) - gpu_process.start() - - schedule.every(self.rate).seconds.do(timer_gpu_mon) - while True: - schedule.run_pending() - time.sleep(5) - - def daemonize(self): - if self.verbose >= 1: - print('daemon process starting ...') - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #1 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - os.chdir(self.home_dir) - os.setsid() - os.umask(self.umask) - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #2 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - sys.stdout.flush() - sys.stderr.flush() - si = open(self.stdin, 'r') - so = open(self.stdout, 'a+') - if self.stderr: - se = open(self.stderr, 'a+') - else: - se = so - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - atexit.register(self.del_pid) - pid = str(os.getpid()) - with open(self.pidfile, 'w+') as f: - f.write('%s\n' % pid) - - def start(self): - if not os.path.exists(self.logpath): - os.makedirs(self.logpath) - elif os.path.exists(self.gpufile): - os.remove(self.gpufile) - if self.verbose >= 1: - print('ready to start ......') - # check for a pid file to see if the daemon already runs - pid = self.get_pid() - if pid: - msg = 'pid file %s already exists, is it already running?\n' - sys.stderr.write(msg % self.pidfile) - sys.exit(1) - # start the daemon - self.daemonize() - self.run() - - def stop(self): - if self.verbose >= 1: - print('stopping ...') - pid = self.get_pid() - if not pid: - msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile - sys.stderr.write(msg) - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - return - # try to kill the daemon process - try: - i = 0 - while 1: - os.kill(pid, signal.SIGTERM) - time.sleep(1) - i = i + 1 - if i % 10 == 0: - os.kill(pid, signal.SIGHUP) - except OSError as err: - err = str(err) - if err.find('No such process') > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - if self.verbose >= 1: - print('Stopped!') - - def restart(self): - self.stop() - self.start() - - def status(self): - pid = self.get_pid() - if pid: - if os.path.exists('/proc/%d' % pid): - return pid - return False - - -def parse_args(): - ''' Check script input parameter. ''' - parse = argparse.ArgumentParser(description='Sys monitor script') - parse.add_argument('-o', - type=str, - metavar='[operation]', - required=True, - help='start|stop|restart|status') - parse.add_argument('-l', - type=str, - metavar='[log_path]', - required=False, - default='./logs/', - help='log path') - args = parse.parse_args() - return args - - -def get_system_info(): - cmd = r"echo OS version:;" - cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo OS Kernel version:;" - cmd = cmd + r"uname -r;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Hardware Model:;" - cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Model:;" - cmd = cmd + r"nvidia-smi -L;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Driver version:;" - cmd = cmd + r"nvidia-smi | grep 'Driver Version' | awk '{print $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Docker version:;" - cmd = cmd + r"docker -v" - - return cmd - - -def main(): - sample_rate1 = 5 - args = parse_args() - operation = args.o - log_path = args.l - pid_fn = str('/tmp/gpu_monitor.pid') - log_fn = str(log_path + '/nvidia_monitor.log') - err_fn = str(log_path + '/nvidia_monitor.err') - # result for gpu - gpu_fn = str(log_path + '/nvidia_monitor.log') - - subdaemon = Daemon(pid_fn, - log_fn, - err_fn, - gpu_fn, - log_path, - verbose=1, - rate=sample_rate1) - if operation == 'start': - sys_fn = os.path.join(log_path, 'sys_info.log') - cmd = get_system_info() - with open(sys_fn, "w") as f: - p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) - p.wait() - subdaemon.start() - elif operation == 'stop': - subdaemon.stop() - elif operation == 'restart': - subdaemon.restart() - elif operation == 'status': - pid = subdaemon.status() - if pid: - print('process [%s] is running ......' % pid) - else: - print('daemon process [%s] stopped' % pid) - else: - print("invalid argument!") - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/.history/training/metax/metax_monitor_20240122120616.py b/.history/training/metax/metax_monitor_20240122120616.py deleted file mode 100644 index 6bce9e203..000000000 --- a/.history/training/metax/metax_monitor_20240122120616.py +++ /dev/null @@ -1,288 +0,0 @@ -# !/usr/bin/env python3 -# encoding: utf-8 -''' -Usage: python3 sys-monitor.py -o operation -l [log_path] - -o, --operation start|stop|restart|status - -l, --log log path , ./logs/ default -''' - -import os -import sys -import time -import signal -import atexit -import argparse -import datetime -from multiprocessing import Process -import subprocess -import schedule - - -class Daemon: - ''' - daemon subprocess class. - usage: subclass this daemon and override the run() method. - sys-monitor.pid: in the /tmp/, auto del when unexpected exit. - verbose: debug mode, disabled default. - ''' - - def __init__(self, - pid_file, - log_file, - err_file, - gpu_log, - log_path, - rate=5, - stdin=os.devnull, - stdout=os.devnull, - stderr=os.devnull, - home_dir='.', - umask=0o22, - verbose=0): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.home_dir = home_dir - self.verbose = verbose - self.pidfile = pid_file - self.logfile = log_file - self.errfile = err_file - self.gpufile = gpu_log - self.logpath = log_path - self.rate = rate - self.umask = umask - self.verbose = verbose - self.daemon_alive = True - - def get_pid(self): - try: - with open(self.pidfile, 'r') as pf: - pid = int(pf.read().strip()) - except IOError: - pid = None - except SystemExit: - pid = None - return pid - - def del_pid(self): - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - - def run(self): - ''' - NOTE: override the method in subclass - ''' - - def gpu_mon(file): - TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') - cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" - process = subprocess.Popen(cmd, - shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - encoding='utf-8') - try: - out = process.communicate(timeout=10) - except subprocess.TimeoutExpired: - process.kill() - out = process.communicate() - - if process.returncode != 0: - result = "error" - result = TIMESTAMP + "\n" + out[0] + "\n" - with open(file, 'a') as f: - f.write(result) - - def timer_gpu_mon(): - gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) - gpu_process.start() - - schedule.every(self.rate).seconds.do(timer_gpu_mon) - while True: - schedule.run_pending() - time.sleep(5) - - def daemonize(self): - if self.verbose >= 1: - print('daemon process starting ...') - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #1 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - os.chdir(self.home_dir) - os.setsid() - os.umask(self.umask) - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #2 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - sys.stdout.flush() - sys.stderr.flush() - si = open(self.stdin, 'r') - so = open(self.stdout, 'a+') - if self.stderr: - se = open(self.stderr, 'a+') - else: - se = so - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - atexit.register(self.del_pid) - pid = str(os.getpid()) - with open(self.pidfile, 'w+') as f: - f.write('%s\n' % pid) - - def start(self): - if not os.path.exists(self.logpath): - os.makedirs(self.logpath) - elif os.path.exists(self.gpufile): - os.remove(self.gpufile) - if self.verbose >= 1: - print('ready to start ......') - # check for a pid file to see if the daemon already runs - pid = self.get_pid() - if pid: - msg = 'pid file %s already exists, is it already running?\n' - sys.stderr.write(msg % self.pidfile) - sys.exit(1) - # start the daemon - self.daemonize() - self.run() - - def stop(self): - if self.verbose >= 1: - print('stopping ...') - pid = self.get_pid() - if not pid: - msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile - sys.stderr.write(msg) - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - return - # try to kill the daemon process - try: - i = 0 - while 1: - os.kill(pid, signal.SIGTERM) - time.sleep(1) - i = i + 1 - if i % 10 == 0: - os.kill(pid, signal.SIGHUP) - except OSError as err: - err = str(err) - if err.find('No such process') > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - if self.verbose >= 1: - print('Stopped!') - - def restart(self): - self.stop() - self.start() - - def status(self): - pid = self.get_pid() - if pid: - if os.path.exists('/proc/%d' % pid): - return pid - return False - - -def parse_args(): - ''' Check script input parameter. ''' - parse = argparse.ArgumentParser(description='Sys monitor script') - parse.add_argument('-o', - type=str, - metavar='[operation]', - required=True, - help='start|stop|restart|status') - parse.add_argument('-l', - type=str, - metavar='[log_path]', - required=False, - default='./logs/', - help='log path') - args = parse.parse_args() - return args - - -def get_system_info(): - cmd = r"echo OS version:;" - cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo OS Kernel version:;" - cmd = cmd + r"uname -r;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Hardware Model:;" - cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Model:;" - cmd = cmd + r"mx-smi -L;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Driver version:;" - cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Docker version:;" - cmd = cmd + r"docker -v" - - return cmd - - -def main(): - sample_rate1 = 5 - args = parse_args() - operation = args.o - log_path = args.l - pid_fn = str('/tmp/gpu_monitor.pid') - log_fn = str(log_path + '/nvidia_monitor.log') - err_fn = str(log_path + '/nvidia_monitor.err') - # result for gpu - gpu_fn = str(log_path + '/nvidia_monitor.log') - - subdaemon = Daemon(pid_fn, - log_fn, - err_fn, - gpu_fn, - log_path, - verbose=1, - rate=sample_rate1) - if operation == 'start': - sys_fn = os.path.join(log_path, 'sys_info.log') - cmd = get_system_info() - with open(sys_fn, "w") as f: - p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) - p.wait() - subdaemon.start() - elif operation == 'stop': - subdaemon.stop() - elif operation == 'restart': - subdaemon.restart() - elif operation == 'status': - pid = subdaemon.status() - if pid: - print('process [%s] is running ......' % pid) - else: - print('daemon process [%s] stopped' % pid) - else: - print("invalid argument!") - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/.history/training/metax/metax_monitor_20240122120617.py b/.history/training/metax/metax_monitor_20240122120617.py deleted file mode 100644 index 6bce9e203..000000000 --- a/.history/training/metax/metax_monitor_20240122120617.py +++ /dev/null @@ -1,288 +0,0 @@ -# !/usr/bin/env python3 -# encoding: utf-8 -''' -Usage: python3 sys-monitor.py -o operation -l [log_path] - -o, --operation start|stop|restart|status - -l, --log log path , ./logs/ default -''' - -import os -import sys -import time -import signal -import atexit -import argparse -import datetime -from multiprocessing import Process -import subprocess -import schedule - - -class Daemon: - ''' - daemon subprocess class. - usage: subclass this daemon and override the run() method. - sys-monitor.pid: in the /tmp/, auto del when unexpected exit. - verbose: debug mode, disabled default. - ''' - - def __init__(self, - pid_file, - log_file, - err_file, - gpu_log, - log_path, - rate=5, - stdin=os.devnull, - stdout=os.devnull, - stderr=os.devnull, - home_dir='.', - umask=0o22, - verbose=0): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.home_dir = home_dir - self.verbose = verbose - self.pidfile = pid_file - self.logfile = log_file - self.errfile = err_file - self.gpufile = gpu_log - self.logpath = log_path - self.rate = rate - self.umask = umask - self.verbose = verbose - self.daemon_alive = True - - def get_pid(self): - try: - with open(self.pidfile, 'r') as pf: - pid = int(pf.read().strip()) - except IOError: - pid = None - except SystemExit: - pid = None - return pid - - def del_pid(self): - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - - def run(self): - ''' - NOTE: override the method in subclass - ''' - - def gpu_mon(file): - TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') - cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" - process = subprocess.Popen(cmd, - shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - encoding='utf-8') - try: - out = process.communicate(timeout=10) - except subprocess.TimeoutExpired: - process.kill() - out = process.communicate() - - if process.returncode != 0: - result = "error" - result = TIMESTAMP + "\n" + out[0] + "\n" - with open(file, 'a') as f: - f.write(result) - - def timer_gpu_mon(): - gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) - gpu_process.start() - - schedule.every(self.rate).seconds.do(timer_gpu_mon) - while True: - schedule.run_pending() - time.sleep(5) - - def daemonize(self): - if self.verbose >= 1: - print('daemon process starting ...') - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #1 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - os.chdir(self.home_dir) - os.setsid() - os.umask(self.umask) - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #2 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - sys.stdout.flush() - sys.stderr.flush() - si = open(self.stdin, 'r') - so = open(self.stdout, 'a+') - if self.stderr: - se = open(self.stderr, 'a+') - else: - se = so - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - atexit.register(self.del_pid) - pid = str(os.getpid()) - with open(self.pidfile, 'w+') as f: - f.write('%s\n' % pid) - - def start(self): - if not os.path.exists(self.logpath): - os.makedirs(self.logpath) - elif os.path.exists(self.gpufile): - os.remove(self.gpufile) - if self.verbose >= 1: - print('ready to start ......') - # check for a pid file to see if the daemon already runs - pid = self.get_pid() - if pid: - msg = 'pid file %s already exists, is it already running?\n' - sys.stderr.write(msg % self.pidfile) - sys.exit(1) - # start the daemon - self.daemonize() - self.run() - - def stop(self): - if self.verbose >= 1: - print('stopping ...') - pid = self.get_pid() - if not pid: - msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile - sys.stderr.write(msg) - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - return - # try to kill the daemon process - try: - i = 0 - while 1: - os.kill(pid, signal.SIGTERM) - time.sleep(1) - i = i + 1 - if i % 10 == 0: - os.kill(pid, signal.SIGHUP) - except OSError as err: - err = str(err) - if err.find('No such process') > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - if self.verbose >= 1: - print('Stopped!') - - def restart(self): - self.stop() - self.start() - - def status(self): - pid = self.get_pid() - if pid: - if os.path.exists('/proc/%d' % pid): - return pid - return False - - -def parse_args(): - ''' Check script input parameter. ''' - parse = argparse.ArgumentParser(description='Sys monitor script') - parse.add_argument('-o', - type=str, - metavar='[operation]', - required=True, - help='start|stop|restart|status') - parse.add_argument('-l', - type=str, - metavar='[log_path]', - required=False, - default='./logs/', - help='log path') - args = parse.parse_args() - return args - - -def get_system_info(): - cmd = r"echo OS version:;" - cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo OS Kernel version:;" - cmd = cmd + r"uname -r;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Hardware Model:;" - cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Model:;" - cmd = cmd + r"mx-smi -L;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Driver version:;" - cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Docker version:;" - cmd = cmd + r"docker -v" - - return cmd - - -def main(): - sample_rate1 = 5 - args = parse_args() - operation = args.o - log_path = args.l - pid_fn = str('/tmp/gpu_monitor.pid') - log_fn = str(log_path + '/nvidia_monitor.log') - err_fn = str(log_path + '/nvidia_monitor.err') - # result for gpu - gpu_fn = str(log_path + '/nvidia_monitor.log') - - subdaemon = Daemon(pid_fn, - log_fn, - err_fn, - gpu_fn, - log_path, - verbose=1, - rate=sample_rate1) - if operation == 'start': - sys_fn = os.path.join(log_path, 'sys_info.log') - cmd = get_system_info() - with open(sys_fn, "w") as f: - p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) - p.wait() - subdaemon.start() - elif operation == 'stop': - subdaemon.stop() - elif operation == 'restart': - subdaemon.restart() - elif operation == 'status': - pid = subdaemon.status() - if pid: - print('process [%s] is running ......' % pid) - else: - print('daemon process [%s] stopped' % pid) - else: - print("invalid argument!") - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/.history/training/metax/metax_monitor_20240122120633.py b/.history/training/metax/metax_monitor_20240122120633.py deleted file mode 100644 index a8d745822..000000000 --- a/.history/training/metax/metax_monitor_20240122120633.py +++ /dev/null @@ -1,288 +0,0 @@ -# !/usr/bin/env python3 -# encoding: utf-8 -''' -Usage: python3 sys-monitor.py -o operation -l [log_path] - -o, --operation start|stop|restart|status - -l, --log log path , ./logs/ default -''' - -import os -import sys -import time -import signal -import atexit -import argparse -import datetime -from multiprocessing import Process -import subprocess -import schedule - - -class Daemon: - ''' - daemon subprocess class. - usage: subclass this daemon and override the run() method. - sys-monitor.pid: in the /tmp/, auto del when unexpected exit. - verbose: debug mode, disabled default. - ''' - - def __init__(self, - pid_file, - log_file, - err_file, - gpu_log, - log_path, - rate=5, - stdin=os.devnull, - stdout=os.devnull, - stderr=os.devnull, - home_dir='.', - umask=0o22, - verbose=0): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.home_dir = home_dir - self.verbose = verbose - self.pidfile = pid_file - self.logfile = log_file - self.errfile = err_file - self.gpufile = gpu_log - self.logpath = log_path - self.rate = rate - self.umask = umask - self.verbose = verbose - self.daemon_alive = True - - def get_pid(self): - try: - with open(self.pidfile, 'r') as pf: - pid = int(pf.read().strip()) - except IOError: - pid = None - except SystemExit: - pid = None - return pid - - def del_pid(self): - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - - def run(self): - ''' - NOTE: override the method in subclass - ''' - - def gpu_mon(file): - TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') - cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" - process = subprocess.Popen(cmd, - shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - encoding='utf-8') - try: - out = process.communicate(timeout=10) - except subprocess.TimeoutExpired: - process.kill() - out = process.communicate() - - if process.returncode != 0: - result = "error" - result = TIMESTAMP + "\n" + out[0] + "\n" - with open(file, 'a') as f: - f.write(result) - - def timer_gpu_mon(): - gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) - gpu_process.start() - - schedule.every(self.rate).seconds.do(timer_gpu_mon) - while True: - schedule.run_pending() - time.sleep(5) - - def daemonize(self): - if self.verbose >= 1: - print('daemon process starting ...') - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #1 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - os.chdir(self.home_dir) - os.setsid() - os.umask(self.umask) - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #2 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - sys.stdout.flush() - sys.stderr.flush() - si = open(self.stdin, 'r') - so = open(self.stdout, 'a+') - if self.stderr: - se = open(self.stderr, 'a+') - else: - se = so - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - atexit.register(self.del_pid) - pid = str(os.getpid()) - with open(self.pidfile, 'w+') as f: - f.write('%s\n' % pid) - - def start(self): - if not os.path.exists(self.logpath): - os.makedirs(self.logpath) - elif os.path.exists(self.gpufile): - os.remove(self.gpufile) - if self.verbose >= 1: - print('ready to start ......') - # check for a pid file to see if the daemon already runs - pid = self.get_pid() - if pid: - msg = 'pid file %s already exists, is it already running?\n' - sys.stderr.write(msg % self.pidfile) - sys.exit(1) - # start the daemon - self.daemonize() - self.run() - - def stop(self): - if self.verbose >= 1: - print('stopping ...') - pid = self.get_pid() - if not pid: - msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile - sys.stderr.write(msg) - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - return - # try to kill the daemon process - try: - i = 0 - while 1: - os.kill(pid, signal.SIGTERM) - time.sleep(1) - i = i + 1 - if i % 10 == 0: - os.kill(pid, signal.SIGHUP) - except OSError as err: - err = str(err) - if err.find('No such process') > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - if self.verbose >= 1: - print('Stopped!') - - def restart(self): - self.stop() - self.start() - - def status(self): - pid = self.get_pid() - if pid: - if os.path.exists('/proc/%d' % pid): - return pid - return False - - -def parse_args(): - ''' Check script input parameter. ''' - parse = argparse.ArgumentParser(description='Sys monitor script') - parse.add_argument('-o', - type=str, - metavar='[operation]', - required=True, - help='start|stop|restart|status') - parse.add_argument('-l', - type=str, - metavar='[log_path]', - required=False, - default='./logs/', - help='log path') - args = parse.parse_args() - return args - - -def get_system_info(): - cmd = r"echo OS version:;" - cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo OS Kernel version:;" - cmd = cmd + r"uname -r;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Hardware Model:;" - cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Model:;" - cmd = cmd + r"mx-smi -L;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Driver version:;" - cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Docker version:;" - cmd = cmd + r"docker -v" - - return cmd - - -def main(): - sample_rate1 = 5 - args = parse_args() - operation = args.o - log_path = args.l - pid_fn = str('/tmp/gpu_monitor.pid') - log_fn = str(log_path + '/mx-smi_monitor.log') - err_fn = str(log_path + '/mx-smi_monitor.err') - # result for gpu - gpu_fn = str(log_path + '/mx-smi_monitor.log') - - subdaemon = Daemon(pid_fn, - log_fn, - err_fn, - gpu_fn, - log_path, - verbose=1, - rate=sample_rate1) - if operation == 'start': - sys_fn = os.path.join(log_path, 'sys_info.log') - cmd = get_system_info() - with open(sys_fn, "w") as f: - p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) - p.wait() - subdaemon.start() - elif operation == 'stop': - subdaemon.stop() - elif operation == 'restart': - subdaemon.restart() - elif operation == 'status': - pid = subdaemon.status() - if pid: - print('process [%s] is running ......' % pid) - else: - print('daemon process [%s] stopped' % pid) - else: - print("invalid argument!") - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/.history/training/metax/metax_monitor_20240122120634.py b/.history/training/metax/metax_monitor_20240122120634.py deleted file mode 100644 index a8d745822..000000000 --- a/.history/training/metax/metax_monitor_20240122120634.py +++ /dev/null @@ -1,288 +0,0 @@ -# !/usr/bin/env python3 -# encoding: utf-8 -''' -Usage: python3 sys-monitor.py -o operation -l [log_path] - -o, --operation start|stop|restart|status - -l, --log log path , ./logs/ default -''' - -import os -import sys -import time -import signal -import atexit -import argparse -import datetime -from multiprocessing import Process -import subprocess -import schedule - - -class Daemon: - ''' - daemon subprocess class. - usage: subclass this daemon and override the run() method. - sys-monitor.pid: in the /tmp/, auto del when unexpected exit. - verbose: debug mode, disabled default. - ''' - - def __init__(self, - pid_file, - log_file, - err_file, - gpu_log, - log_path, - rate=5, - stdin=os.devnull, - stdout=os.devnull, - stderr=os.devnull, - home_dir='.', - umask=0o22, - verbose=0): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.home_dir = home_dir - self.verbose = verbose - self.pidfile = pid_file - self.logfile = log_file - self.errfile = err_file - self.gpufile = gpu_log - self.logpath = log_path - self.rate = rate - self.umask = umask - self.verbose = verbose - self.daemon_alive = True - - def get_pid(self): - try: - with open(self.pidfile, 'r') as pf: - pid = int(pf.read().strip()) - except IOError: - pid = None - except SystemExit: - pid = None - return pid - - def del_pid(self): - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - - def run(self): - ''' - NOTE: override the method in subclass - ''' - - def gpu_mon(file): - TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') - cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" - process = subprocess.Popen(cmd, - shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - encoding='utf-8') - try: - out = process.communicate(timeout=10) - except subprocess.TimeoutExpired: - process.kill() - out = process.communicate() - - if process.returncode != 0: - result = "error" - result = TIMESTAMP + "\n" + out[0] + "\n" - with open(file, 'a') as f: - f.write(result) - - def timer_gpu_mon(): - gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) - gpu_process.start() - - schedule.every(self.rate).seconds.do(timer_gpu_mon) - while True: - schedule.run_pending() - time.sleep(5) - - def daemonize(self): - if self.verbose >= 1: - print('daemon process starting ...') - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #1 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - os.chdir(self.home_dir) - os.setsid() - os.umask(self.umask) - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #2 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - sys.stdout.flush() - sys.stderr.flush() - si = open(self.stdin, 'r') - so = open(self.stdout, 'a+') - if self.stderr: - se = open(self.stderr, 'a+') - else: - se = so - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - atexit.register(self.del_pid) - pid = str(os.getpid()) - with open(self.pidfile, 'w+') as f: - f.write('%s\n' % pid) - - def start(self): - if not os.path.exists(self.logpath): - os.makedirs(self.logpath) - elif os.path.exists(self.gpufile): - os.remove(self.gpufile) - if self.verbose >= 1: - print('ready to start ......') - # check for a pid file to see if the daemon already runs - pid = self.get_pid() - if pid: - msg = 'pid file %s already exists, is it already running?\n' - sys.stderr.write(msg % self.pidfile) - sys.exit(1) - # start the daemon - self.daemonize() - self.run() - - def stop(self): - if self.verbose >= 1: - print('stopping ...') - pid = self.get_pid() - if not pid: - msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile - sys.stderr.write(msg) - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - return - # try to kill the daemon process - try: - i = 0 - while 1: - os.kill(pid, signal.SIGTERM) - time.sleep(1) - i = i + 1 - if i % 10 == 0: - os.kill(pid, signal.SIGHUP) - except OSError as err: - err = str(err) - if err.find('No such process') > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - if self.verbose >= 1: - print('Stopped!') - - def restart(self): - self.stop() - self.start() - - def status(self): - pid = self.get_pid() - if pid: - if os.path.exists('/proc/%d' % pid): - return pid - return False - - -def parse_args(): - ''' Check script input parameter. ''' - parse = argparse.ArgumentParser(description='Sys monitor script') - parse.add_argument('-o', - type=str, - metavar='[operation]', - required=True, - help='start|stop|restart|status') - parse.add_argument('-l', - type=str, - metavar='[log_path]', - required=False, - default='./logs/', - help='log path') - args = parse.parse_args() - return args - - -def get_system_info(): - cmd = r"echo OS version:;" - cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo OS Kernel version:;" - cmd = cmd + r"uname -r;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Hardware Model:;" - cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Model:;" - cmd = cmd + r"mx-smi -L;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Driver version:;" - cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Docker version:;" - cmd = cmd + r"docker -v" - - return cmd - - -def main(): - sample_rate1 = 5 - args = parse_args() - operation = args.o - log_path = args.l - pid_fn = str('/tmp/gpu_monitor.pid') - log_fn = str(log_path + '/mx-smi_monitor.log') - err_fn = str(log_path + '/mx-smi_monitor.err') - # result for gpu - gpu_fn = str(log_path + '/mx-smi_monitor.log') - - subdaemon = Daemon(pid_fn, - log_fn, - err_fn, - gpu_fn, - log_path, - verbose=1, - rate=sample_rate1) - if operation == 'start': - sys_fn = os.path.join(log_path, 'sys_info.log') - cmd = get_system_info() - with open(sys_fn, "w") as f: - p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) - p.wait() - subdaemon.start() - elif operation == 'stop': - subdaemon.stop() - elif operation == 'restart': - subdaemon.restart() - elif operation == 'status': - pid = subdaemon.status() - if pid: - print('process [%s] is running ......' % pid) - else: - print('daemon process [%s] stopped' % pid) - else: - print("invalid argument!") - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/.history/training/metax/metax_monitor_20240122120635.py b/.history/training/metax/metax_monitor_20240122120635.py deleted file mode 100644 index a8d745822..000000000 --- a/.history/training/metax/metax_monitor_20240122120635.py +++ /dev/null @@ -1,288 +0,0 @@ -# !/usr/bin/env python3 -# encoding: utf-8 -''' -Usage: python3 sys-monitor.py -o operation -l [log_path] - -o, --operation start|stop|restart|status - -l, --log log path , ./logs/ default -''' - -import os -import sys -import time -import signal -import atexit -import argparse -import datetime -from multiprocessing import Process -import subprocess -import schedule - - -class Daemon: - ''' - daemon subprocess class. - usage: subclass this daemon and override the run() method. - sys-monitor.pid: in the /tmp/, auto del when unexpected exit. - verbose: debug mode, disabled default. - ''' - - def __init__(self, - pid_file, - log_file, - err_file, - gpu_log, - log_path, - rate=5, - stdin=os.devnull, - stdout=os.devnull, - stderr=os.devnull, - home_dir='.', - umask=0o22, - verbose=0): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.home_dir = home_dir - self.verbose = verbose - self.pidfile = pid_file - self.logfile = log_file - self.errfile = err_file - self.gpufile = gpu_log - self.logpath = log_path - self.rate = rate - self.umask = umask - self.verbose = verbose - self.daemon_alive = True - - def get_pid(self): - try: - with open(self.pidfile, 'r') as pf: - pid = int(pf.read().strip()) - except IOError: - pid = None - except SystemExit: - pid = None - return pid - - def del_pid(self): - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - - def run(self): - ''' - NOTE: override the method in subclass - ''' - - def gpu_mon(file): - TIMESTAMP = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S') - cmd = "mx-smi"# |grep 'Default'|awk '{print $3,$5,$9,$11,$13}'" - process = subprocess.Popen(cmd, - shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - encoding='utf-8') - try: - out = process.communicate(timeout=10) - except subprocess.TimeoutExpired: - process.kill() - out = process.communicate() - - if process.returncode != 0: - result = "error" - result = TIMESTAMP + "\n" + out[0] + "\n" - with open(file, 'a') as f: - f.write(result) - - def timer_gpu_mon(): - gpu_process = Process(target=gpu_mon, args=(self.gpufile, )) - gpu_process.start() - - schedule.every(self.rate).seconds.do(timer_gpu_mon) - while True: - schedule.run_pending() - time.sleep(5) - - def daemonize(self): - if self.verbose >= 1: - print('daemon process starting ...') - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #1 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - os.chdir(self.home_dir) - os.setsid() - os.umask(self.umask) - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except OSError as e: - sys.stderr.write('fork #2 failed: %d (%s)\n' % - (e.errno, e.strerror)) - sys.exit(1) - sys.stdout.flush() - sys.stderr.flush() - si = open(self.stdin, 'r') - so = open(self.stdout, 'a+') - if self.stderr: - se = open(self.stderr, 'a+') - else: - se = so - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - atexit.register(self.del_pid) - pid = str(os.getpid()) - with open(self.pidfile, 'w+') as f: - f.write('%s\n' % pid) - - def start(self): - if not os.path.exists(self.logpath): - os.makedirs(self.logpath) - elif os.path.exists(self.gpufile): - os.remove(self.gpufile) - if self.verbose >= 1: - print('ready to start ......') - # check for a pid file to see if the daemon already runs - pid = self.get_pid() - if pid: - msg = 'pid file %s already exists, is it already running?\n' - sys.stderr.write(msg % self.pidfile) - sys.exit(1) - # start the daemon - self.daemonize() - self.run() - - def stop(self): - if self.verbose >= 1: - print('stopping ...') - pid = self.get_pid() - if not pid: - msg = 'pid file [%s] does not exist. Not running?\n' % self.pidfile - sys.stderr.write(msg) - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - return - # try to kill the daemon process - try: - i = 0 - while 1: - os.kill(pid, signal.SIGTERM) - time.sleep(1) - i = i + 1 - if i % 10 == 0: - os.kill(pid, signal.SIGHUP) - except OSError as err: - err = str(err) - if err.find('No such process') > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - if self.verbose >= 1: - print('Stopped!') - - def restart(self): - self.stop() - self.start() - - def status(self): - pid = self.get_pid() - if pid: - if os.path.exists('/proc/%d' % pid): - return pid - return False - - -def parse_args(): - ''' Check script input parameter. ''' - parse = argparse.ArgumentParser(description='Sys monitor script') - parse.add_argument('-o', - type=str, - metavar='[operation]', - required=True, - help='start|stop|restart|status') - parse.add_argument('-l', - type=str, - metavar='[log_path]', - required=False, - default='./logs/', - help='log path') - args = parse.parse_args() - return args - - -def get_system_info(): - cmd = r"echo OS version:;" - cmd = cmd + r"cat /etc/issue | head -n1 | awk '{print $1, $2, $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo OS Kernel version:;" - cmd = cmd + r"uname -r;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Hardware Model:;" - cmd = cmd + r"sudo dmidecode | grep -A9 'System Information' | tail -n +2 | sed 's/^[ \t]*//';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Model:;" - cmd = cmd + r"mx-smi -L;" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Accelerator Driver version:;" - cmd = cmd + r"mx-smi | grep 'Driver Version' | awk '{print $3}';" - cmd = cmd + r"echo ;" - - cmd = cmd + r"echo Docker version:;" - cmd = cmd + r"docker -v" - - return cmd - - -def main(): - sample_rate1 = 5 - args = parse_args() - operation = args.o - log_path = args.l - pid_fn = str('/tmp/gpu_monitor.pid') - log_fn = str(log_path + '/mx-smi_monitor.log') - err_fn = str(log_path + '/mx-smi_monitor.err') - # result for gpu - gpu_fn = str(log_path + '/mx-smi_monitor.log') - - subdaemon = Daemon(pid_fn, - log_fn, - err_fn, - gpu_fn, - log_path, - verbose=1, - rate=sample_rate1) - if operation == 'start': - sys_fn = os.path.join(log_path, 'sys_info.log') - cmd = get_system_info() - with open(sys_fn, "w") as f: - p = subprocess.Popen(cmd, shell=True, stdout=f, stderr=subprocess.STDOUT) - p.wait() - subdaemon.start() - elif operation == 'stop': - subdaemon.stop() - elif operation == 'restart': - subdaemon.restart() - elif operation == 'status': - pid = subdaemon.status() - if pid: - print('process [%s] is running ......' % pid) - else: - print('daemon process [%s] stopped' % pid) - else: - print("invalid argument!") - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/.history/training/run_benchmarks/config/test_conf_20240121222426.py b/.history/training/run_benchmarks/config/test_conf_20240121222426.py deleted file mode 100644 index a2fca20d3..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240121222426.py +++ /dev/null @@ -1,151 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - -} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122121423.py b/.history/training/run_benchmarks/config/test_conf_20240122121423.py deleted file mode 100644 index f4ecfc760..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240122121423.py +++ /dev/null @@ -1,153 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -# metax: -# " --env MTHREADS_VISIBLE_DEVICES=all" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - -} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122121424.py b/.history/training/run_benchmarks/config/test_conf_20240122121424.py deleted file mode 100644 index f4ecfc760..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240122121424.py +++ /dev/null @@ -1,153 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -# metax: -# " --env MTHREADS_VISIBLE_DEVICES=all" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - -} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122121534.py b/.history/training/run_benchmarks/config/test_conf_20240122121534.py deleted file mode 100644 index ee92fb9f5..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240122121534.py +++ /dev/null @@ -1,153 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend and mthreads. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -# metax: -# " --device=/dev/dri --device=/dev/mxcd --group-add video" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - -} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122122419.py b/.history/training/run_benchmarks/config/test_conf_20240122122419.py deleted file mode 100644 index 5b5a2d2c1..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240122122419.py +++ /dev/null @@ -1,153 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -# metax: -# " --device=/dev/dri --device=/dev/mxcd --group-add video" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - -} diff --git a/.history/training/run_benchmarks/config/test_conf_20240122122420.py b/.history/training/run_benchmarks/config/test_conf_20240122122420.py deleted file mode 100644 index 5b5a2d2c1..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240122122420.py +++ /dev/null @@ -1,153 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -# metax: -# " --device=/dev/dri --device=/dev/mxcd --group-add video" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - -} From 167335a103a28f2eea825039d7d49dfcdc8b5164 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Wed, 24 Jan 2024 15:26:47 +0800 Subject: [PATCH 11/34] =?UTF-8?q?add=202x8=20info=20&=20add=20=E5=B8=A6?= =?UTF-8?q?=E5=AE=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- training/metax/README.md | 13 +++++++------ training/metax/faster_rcnn-pytorch/README.md | 10 ++++++---- .../faster_rcnn-pytorch/config/config_C500x2x8.py | 4 ++++ 3 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 training/metax/faster_rcnn-pytorch/config/config_C500x2x8.py diff --git a/training/metax/README.md b/training/metax/README.md index 2513acdcf..54fe64afe 100644 --- a/training/metax/README.md +++ b/training/metax/README.md @@ -13,13 +13,14 @@ # FlagPerf适配验证环境说明 ## 环境配置参考 - 硬件 - - 机器型号: - - 加速卡型号: MX C500 - + - 机器型号: 同泰怡 G658V3 + - 加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - 软件 - OS版本:Ubuntu 20.04.6 - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 + - 加速卡驱动版本:2.18.0.8 + - VBIOS:1.0.102.0 - Docker版本:24.0.7 @@ -30,8 +31,8 @@ - 核心软件信息 - AI框架&相关版本: - torch: pytorch-2.0 - torchvision: torchvision-0.15 + torch: pytorch-2.0-mc + torchvision: torchvision-0.15-mc maca: 2.18.0.8 diff --git a/training/metax/faster_rcnn-pytorch/README.md b/training/metax/faster_rcnn-pytorch/README.md index 76de6e773..b5c0f77f8 100644 --- a/training/metax/faster_rcnn-pytorch/README.md +++ b/training/metax/faster_rcnn-pytorch/README.md @@ -17,15 +17,16 @@ torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://do ### 沐曦集成电路 C500 GPU配置与运行信息参考 #### 环境配置 - ##### 硬件环境 - - 机器、加速卡型号: MXC 500 64GB + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - ##### 软件环境 - OS版本:Ubuntu 20.04.6 - OS kernel版本: 5.4.0-26-generic - 加速卡驱动版本:2.2.0 - - Docker 版本:20.10.8 + - Docker 版本:24.0.7 - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:24.0.7 + - 依赖软件版本:无 @@ -55,5 +56,6 @@ torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://do | --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | | MXC500 单机8卡(1x8) | fp32 | / | | | | | | | | MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1) | fp32 | bs=16, lr=0.16| / | | | | | / | | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | diff --git a/training/metax/faster_rcnn-pytorch/config/config_C500x2x8.py b/training/metax/faster_rcnn-pytorch/config/config_C500x2x8.py new file mode 100644 index 000000000..07128ad72 --- /dev/null +++ b/training/metax/faster_rcnn-pytorch/config/config_C500x2x8.py @@ -0,0 +1,4 @@ +vendor: str = "metax" +train_batch_size = 16 +eval_batch_size = 16 +lr = 0.08 From f8169c913e39a54601aee67c3758ff10d34786e7 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Wed, 24 Jan 2024 16:17:51 +0800 Subject: [PATCH 12/34] fix typo --- .../README_20240124150717.md | 61 +++++++++++++++++++ .../README_20240124161736.md | 59 ++++++++++++++++++ training/metax/faster_rcnn-pytorch/README.md | 2 - 3 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240124150717.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240124161736.md diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240124150717.md b/.history/training/metax/faster_rcnn-pytorch/README_20240124150717.md new file mode 100644 index 000000000..b5c0f77f8 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240124150717.md @@ -0,0 +1,61 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240124161736.md b/.history/training/metax/faster_rcnn-pytorch/README_20240124161736.md new file mode 100644 index 000000000..ad32c5304 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240124161736.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/training/metax/faster_rcnn-pytorch/README.md b/training/metax/faster_rcnn-pytorch/README.md index b5c0f77f8..ad32c5304 100644 --- a/training/metax/faster_rcnn-pytorch/README.md +++ b/training/metax/faster_rcnn-pytorch/README.md @@ -10,8 +10,6 @@ torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://do ### 测试数据集下载 -### 测试数据集下载 - [测试数据集下载](https://cocodataset.org/) ### 沐曦集成电路 C500 GPU配置与运行信息参考 From b134c3333fecd6bd401ecd1035d620b88eea4c5e Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Wed, 24 Jan 2024 16:19:07 +0800 Subject: [PATCH 13/34] delete history --- .../README_20240124150717.md | 61 ------------------- .../README_20240124161736.md | 59 ------------------ 2 files changed, 120 deletions(-) delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240124150717.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240124161736.md diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240124150717.md b/.history/training/metax/faster_rcnn-pytorch/README_20240124150717.md deleted file mode 100644 index b5c0f77f8..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240124150717.md +++ /dev/null @@ -1,61 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240124161736.md b/.history/training/metax/faster_rcnn-pytorch/README_20240124161736.md deleted file mode 100644 index ad32c5304..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240124161736.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - From dcd97f6703004f4904494bb429d59b29361f2f1b Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 11:15:15 +0800 Subject: [PATCH 14/34] update info --- .../README_20240121222426.md | 57 ++++++++++++++++++ .../README_20240125111019.md | 57 ++++++++++++++++++ .../README_20240125111036.md | 57 ++++++++++++++++++ .../pytorch_2.0/README_20240125105920.md | 23 ++++++++ .../pytorch_2.0/README_20240125110531.md | 5 ++ .../pytorch_2.0/README_20240125110532.md | 5 ++ .../README_20240124161735.md | 59 +++++++++++++++++++ .../README_20240125111043.md | 59 +++++++++++++++++++ .../README_20240125111044.md | 59 +++++++++++++++++++ .../README_20240125111045.md | 59 +++++++++++++++++++ .../README_20240125111046.md | 59 +++++++++++++++++++ .../README_20240125111308.md | 59 +++++++++++++++++++ .../README_20240125111309.md | 59 +++++++++++++++++++ .../README_20240125111316.md | 59 +++++++++++++++++++ .../README_20240125111317.md | 59 +++++++++++++++++++ .../README_20240125111322.md | 59 +++++++++++++++++++ .../README_20240125111503.md | 59 +++++++++++++++++++ .../metax/docker_image/pytorch_2.0/README.md | 5 ++ training/metax/faster_rcnn-pytorch/README.md | 8 +-- 19 files changed, 862 insertions(+), 4 deletions(-) create mode 100644 .history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md create mode 100644 .history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md create mode 100644 .history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md create mode 100644 .history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md create mode 100644 .history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md create mode 100644 .history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240124161735.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111043.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111044.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111045.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111046.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111308.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111309.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111316.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111317.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111322.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111503.md create mode 100755 training/metax/docker_image/pytorch_2.0/README.md diff --git a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md new file mode 100644 index 000000000..c1698b842 --- /dev/null +++ b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md @@ -0,0 +1,57 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md new file mode 100644 index 000000000..e70348b0f --- /dev/null +++ b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md @@ -0,0 +1,57 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | 36.7% | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md new file mode 100644 index 000000000..c1698b842 --- /dev/null +++ b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md @@ -0,0 +1,57 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](../../benchmarks/faster_rcnn) + +### 天数智芯 BI-V100 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: Iluvatar BI-V100 32GB + +- ##### 软件环境 + - OS版本:Ubuntu 20.04 + - OS kernel版本: 4.15.0-156-generic x86_64 + - 加速卡驱动版本:3.1.0 + - Docker 版本:20.10.8 + - 训练框架版本:torch-1.13.1+corex.3.1.0 + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | BI-V100 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | +| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | +| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md b/.history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md new file mode 100644 index 000000000..104550272 --- /dev/null +++ b/.history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md @@ -0,0 +1,23 @@ +# 以下软件包需联系天数智芯获取 + +>联系邮箱: contact-us@iluvatar.com +BI-100: + +apex-0.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl + +torch-1.13.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl + +torchtext-0.14.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl + +torchvision-0.14.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl + + +BI-150: + +apex-0.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl + +torch-1.13.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl + +torchtext-0.14.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl + +torchvision-0.14.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl diff --git a/.history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md b/.history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md new file mode 100644 index 000000000..5fcb6fa35 --- /dev/null +++ b/.history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md @@ -0,0 +1,5 @@ +# 以下软件包需联系沐曦获取 + +>联系邮箱: shengchu.zhao@metax-tech.com + +docker image: maca-2.18.0.8-ubuntu18.04-amd64 diff --git a/.history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md b/.history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md new file mode 100644 index 000000000..5fcb6fa35 --- /dev/null +++ b/.history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md @@ -0,0 +1,5 @@ +# 以下软件包需联系沐曦获取 + +>联系邮箱: shengchu.zhao@metax-tech.com + +docker image: maca-2.18.0.8-ubuntu18.04-amd64 diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240124161735.md b/.history/training/metax/faster_rcnn-pytorch/README_20240124161735.md new file mode 100644 index 000000000..ad32c5304 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240124161735.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111043.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111043.md new file mode 100644 index 000000000..2e32fb0a7 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111043.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.73%| | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111044.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111044.md new file mode 100644 index 000000000..2e32fb0a7 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111044.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.73%| | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111045.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111045.md new file mode 100644 index 000000000..1d4703a23 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111045.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%| | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111046.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111046.md new file mode 100644 index 000000000..1d4703a23 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111046.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%| | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111308.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111308.md new file mode 100644 index 000000000..e07b16670 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111308.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111309.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111309.md new file mode 100644 index 000000000..e07b16670 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111309.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111316.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111316.md new file mode 100644 index 000000000..c4bac7e9b --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111316.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | |31.8/64 | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111317.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111317.md new file mode 100644 index 000000000..c4bac7e9b --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111317.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | |31.8/64 | / | | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111322.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111322.md new file mode 100644 index 000000000..acd92a455 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111322.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111503.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111503.md new file mode 100644 index 000000000..51d5e676c --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111503.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | 44.3/64 | + diff --git a/training/metax/docker_image/pytorch_2.0/README.md b/training/metax/docker_image/pytorch_2.0/README.md new file mode 100755 index 000000000..5fcb6fa35 --- /dev/null +++ b/training/metax/docker_image/pytorch_2.0/README.md @@ -0,0 +1,5 @@ +# 以下软件包需联系沐曦获取 + +>联系邮箱: shengchu.zhao@metax-tech.com + +docker image: maca-2.18.0.8-ubuntu18.04-amd64 diff --git a/training/metax/faster_rcnn-pytorch/README.md b/training/metax/faster_rcnn-pytorch/README.md index ad32c5304..51d5e676c 100644 --- a/training/metax/faster_rcnn-pytorch/README.md +++ b/training/metax/faster_rcnn-pytorch/README.md @@ -52,8 +52,8 @@ torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://do | 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | | --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | 44.3/64 | From a1e2df997e7df382430c2e423968e32614394114 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 11:15:53 +0800 Subject: [PATCH 15/34] update info --- .../README_20240121222426.md | 57 ------------------ .../README_20240125111019.md | 57 ------------------ .../README_20240125111036.md | 57 ------------------ .../pytorch_2.0/README_20240125105920.md | 23 -------- .../pytorch_2.0/README_20240125110531.md | 5 -- .../pytorch_2.0/README_20240125110532.md | 5 -- .../README_20240124161735.md | 59 ------------------- .../README_20240125111043.md | 59 ------------------- .../README_20240125111044.md | 59 ------------------- .../README_20240125111045.md | 59 ------------------- .../README_20240125111046.md | 59 ------------------- .../README_20240125111308.md | 59 ------------------- .../README_20240125111309.md | 59 ------------------- .../README_20240125111316.md | 59 ------------------- .../README_20240125111317.md | 59 ------------------- .../README_20240125111322.md | 59 ------------------- .../README_20240125111503.md | 59 ------------------- 17 files changed, 853 deletions(-) delete mode 100644 .history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md delete mode 100644 .history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md delete mode 100644 .history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md delete mode 100644 .history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md delete mode 100644 .history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md delete mode 100644 .history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240124161735.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111043.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111044.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111045.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111046.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111308.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111309.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111316.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111317.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111322.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111503.md diff --git a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md deleted file mode 100644 index c1698b842..000000000 --- a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240121222426.md +++ /dev/null @@ -1,57 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md deleted file mode 100644 index e70348b0f..000000000 --- a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111019.md +++ /dev/null @@ -1,57 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | 36.7% | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md b/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md deleted file mode 100644 index c1698b842..000000000 --- a/.history/training/iluvatar/faster_rcnn-pytorch/README_20240125111036.md +++ /dev/null @@ -1,57 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](../../benchmarks/faster_rcnn) - -### 天数智芯 BI-V100 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: Iluvatar BI-V100 32GB - -- ##### 软件环境 - - OS版本:Ubuntu 20.04 - - OS kernel版本: 4.15.0-156-generic x86_64 - - 加速卡驱动版本:3.1.0 - - Docker 版本:20.10.8 - - 训练框架版本:torch-1.13.1+corex.3.1.0 - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | BI-V100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| BI-V100单机1卡(1x1) | fp32 | / | / | | | | / | | -| BI-V100单机8卡(1x8) | fp32 | bs=8,lr=0.08 | | | | | | | -| BI-V100两机8卡(2x8) | fp32 | bs=8,lr=0.08 | / | | | | / | | diff --git a/.history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md b/.history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md deleted file mode 100644 index 104550272..000000000 --- a/.history/training/metax/docker_image/pytorch_2.0/README_20240125105920.md +++ /dev/null @@ -1,23 +0,0 @@ -# 以下软件包需联系天数智芯获取 - ->联系邮箱: contact-us@iluvatar.com -BI-100: - -apex-0.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl - -torch-1.13.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl - -torchtext-0.14.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl - -torchvision-0.14.1+corex.3.1.0-cp38-cp38-linux_x86_64.whl - - -BI-150: - -apex-0.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl - -torch-1.13.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl - -torchtext-0.14.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl - -torchvision-0.14.1+corex.3.3.0-cp38-cp38-linux_x86_64.whl diff --git a/.history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md b/.history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md deleted file mode 100644 index 5fcb6fa35..000000000 --- a/.history/training/metax/docker_image/pytorch_2.0/README_20240125110531.md +++ /dev/null @@ -1,5 +0,0 @@ -# 以下软件包需联系沐曦获取 - ->联系邮箱: shengchu.zhao@metax-tech.com - -docker image: maca-2.18.0.8-ubuntu18.04-amd64 diff --git a/.history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md b/.history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md deleted file mode 100644 index 5fcb6fa35..000000000 --- a/.history/training/metax/docker_image/pytorch_2.0/README_20240125110532.md +++ /dev/null @@ -1,5 +0,0 @@ -# 以下软件包需联系沐曦获取 - ->联系邮箱: shengchu.zhao@metax-tech.com - -docker image: maca-2.18.0.8-ubuntu18.04-amd64 diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240124161735.md b/.history/training/metax/faster_rcnn-pytorch/README_20240124161735.md deleted file mode 100644 index ad32c5304..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240124161735.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | | | | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111043.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111043.md deleted file mode 100644 index 2e32fb0a7..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111043.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.73%| | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111044.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111044.md deleted file mode 100644 index 2e32fb0a7..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111044.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.73%| | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111045.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111045.md deleted file mode 100644 index 1d4703a23..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111045.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%| | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111046.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111046.md deleted file mode 100644 index 1d4703a23..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111046.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | | | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%| | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111308.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111308.md deleted file mode 100644 index e07b16670..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111308.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111309.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111309.md deleted file mode 100644 index e07b16670..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111309.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111316.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111316.md deleted file mode 100644 index c4bac7e9b..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111316.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | |31.8/64 | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111317.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111317.md deleted file mode 100644 index c4bac7e9b..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111317.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | |31.8/64 | / | | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111322.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111322.md deleted file mode 100644 index acd92a455..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111322.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|31.8/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111503.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111503.md deleted file mode 100644 index 51d5e676c..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111503.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | 44.3/64 | - From feceef00fcdb32aaf5ed1a0320af2f7c49812f6c Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 11:17:44 +0800 Subject: [PATCH 16/34] update table --- .../README_20240125111502.md | 59 +++++++++++++++++++ .../README_20240125111731.md | 59 +++++++++++++++++++ training/metax/faster_rcnn-pytorch/README.md | 4 +- 3 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111502.md create mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111731.md diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111502.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111502.md new file mode 100644 index 000000000..51d5e676c --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111502.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | 44.3/64 | + diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111731.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111731.md new file mode 100644 index 000000000..0e892eda5 --- /dev/null +++ b/.history/training/metax/faster_rcnn-pytorch/README_20240125111731.md @@ -0,0 +1,59 @@ +### 模型backbone权重下载 +[模型backbone权重下载](../../benchmarks/faster_rcnn) + +这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: + +```python +torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' +``` +本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path + +### 测试数据集下载 + +[测试数据集下载](https://cocodataset.org/) + +### 沐曦集成电路 C500 GPU配置与运行信息参考 +#### 环境配置 +- ##### 硬件环境 + - 机器、加速卡型号: 曦云®C500 64G + - 多机网络类型、带宽: InfiniBand,2x200 Gb/s + +- ##### 软件环境 + - OS版本:Ubuntu 20.04.6 + - OS kernel版本: 5.4.0-26-generic + - 加速卡驱动版本:2.2.0 + - Docker 版本:24.0.7 + - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl + - 依赖软件版本:无 + + + + +* 通用指标 + +| 指标名称 | 指标值 | 特殊说明 | +| -------------- | ----------------------- | ------------------------------------------- | +| 任务类别 | 图像目标检测 | | +| 模型 | fasterRCNN | | +| 数据集 | coco2017 | | +| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | +| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | +| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | +| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | +| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | +| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | +| 额外修改项 | 无 | | + + +* 性能指标 + +| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | +| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | +| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | +| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | 31.8/64 | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | 44.3/64 | + diff --git a/training/metax/faster_rcnn-pytorch/README.md b/training/metax/faster_rcnn-pytorch/README.md index 51d5e676c..0e892eda5 100644 --- a/training/metax/faster_rcnn-pytorch/README.md +++ b/training/metax/faster_rcnn-pytorch/README.md @@ -54,6 +54,6 @@ torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://do | --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | | MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | | MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | 44.3/64 | +| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | 31.8/64 | +| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | 44.3/64 | From 1540bc6a6f645ae94575de4d88cdf3ebb1d5d6f0 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 11:18:10 +0800 Subject: [PATCH 17/34] delete history --- .../README_20240125111502.md | 59 ------------------- .../README_20240125111731.md | 59 ------------------- 2 files changed, 118 deletions(-) delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111502.md delete mode 100644 .history/training/metax/faster_rcnn-pytorch/README_20240125111731.md diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111502.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111502.md deleted file mode 100644 index 51d5e676c..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111502.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | / |31.8/64 | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | / | 44.3/64 | - diff --git a/.history/training/metax/faster_rcnn-pytorch/README_20240125111731.md b/.history/training/metax/faster_rcnn-pytorch/README_20240125111731.md deleted file mode 100644 index 0e892eda5..000000000 --- a/.history/training/metax/faster_rcnn-pytorch/README_20240125111731.md +++ /dev/null @@ -1,59 +0,0 @@ -### 模型backbone权重下载 -[模型backbone权重下载](../../benchmarks/faster_rcnn) - -这一部分路径在FlagPerf/training/benchmarks/faster_rcnn/pytorch/model/\_\_init__.py中提供: - -```python -torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' -``` -本case中默认配置为,从官网同路径(0676ba61)自动下载backbone权重。用户如需手动指定,可自行下载至被挂载到容器内的路径下,并于此处修改路径为"file://"+download_path - -### 测试数据集下载 - -[测试数据集下载](https://cocodataset.org/) - -### 沐曦集成电路 C500 GPU配置与运行信息参考 -#### 环境配置 -- ##### 硬件环境 - - 机器、加速卡型号: 曦云®C500 64G - - 多机网络类型、带宽: InfiniBand,2x200 Gb/s - -- ##### 软件环境 - - OS版本:Ubuntu 20.04.6 - - OS kernel版本: 5.4.0-26-generic - - 加速卡驱动版本:2.2.0 - - Docker 版本:24.0.7 - - 训练框架版本:pytorch-2.0.0+mc2.18.0.8-cp38-cp38-linux_x86_64.whl - - 依赖软件版本:无 - - - - -* 通用指标 - -| 指标名称 | 指标值 | 特殊说明 | -| -------------- | ----------------------- | ------------------------------------------- | -| 任务类别 | 图像目标检测 | | -| 模型 | fasterRCNN | | -| 数据集 | coco2017 | | -| 数据精度 | precision,见“性能指标” | 可选fp32/amp/fp16 | -| 超参修改 | fix_hp,见“性能指标” | 跑满硬件设备评测吞吐量所需特殊超参 | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 端到端时间 | e2e_time,见“性能指标” | 总时间+Perf初始化等时间 | -| 总吞吐量 | p_whole,见“性能指标” | 实际训练图片数除以总时间(performance_whole) | -| 训练吞吐量 | p_train,见“性能指标” | 不包含每个epoch末尾的评估部分耗时 | -| **计算吞吐量** | **p_core,见“性能指标”** | 不包含数据IO部分的耗时(p3>p2>p1) | -| 训练结果 | map,见“性能指标” | 单位为平均目标检测正确率 | -| 额外修改项 | 无 | | - - -* 性能指标 - -| 配置 | precision | fix_hp | e2e_time | p_whole | p_train | p_core | map | mem | -| --------------------- | --------- | ------------ | -------- | ------- | ------- | ------ | --- | --- | -| MXC500 单机8卡(1x8) | fp32 | / | | | | | |9.9/64 | -| MXC500单机8卡(1x8) | fp32 | bs=16,lr=0.16 | | | | |36.7%|44.5/64 | -| MXC500 单机单卡(1x1)| fp32 | / | / | | | | | 31.8/64 | -| MXC500 两机8卡(2x8) | fp32 | / | / | | | | | 44.3/64 | - From a726224fecaef9e4d0bc0aea25e42229728d9e77 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 11:22:04 +0800 Subject: [PATCH 18/34] add info in test-conf --- training/run_benchmarks/config/test_conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/training/run_benchmarks/config/test_conf.py b/training/run_benchmarks/config/test_conf.py index 5b5a2d2c1..400119015 100644 --- a/training/run_benchmarks/config/test_conf.py +++ b/training/run_benchmarks/config/test_conf.py @@ -150,4 +150,6 @@ # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + # metax cases + # "faster_rcnn:C500:pytorch_2.0:1:8:1": "/dataset/coco2017/", } From 28d40f5be8c14f3f79e0223c2372263c7db20129 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 13:13:44 +0800 Subject: [PATCH 19/34] fix typo --- .../config/test_conf_20240125112105.py | 155 ++++++++++++++++++ .../config/test_conf_20240125131330.py | 155 ++++++++++++++++++ 2 files changed, 310 insertions(+) create mode 100644 .history/training/run_benchmarks/config/test_conf_20240125112105.py create mode 100644 .history/training/run_benchmarks/config/test_conf_20240125131330.py diff --git a/.history/training/run_benchmarks/config/test_conf_20240125112105.py b/.history/training/run_benchmarks/config/test_conf_20240125112105.py new file mode 100644 index 000000000..400119015 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240125112105.py @@ -0,0 +1,155 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --device=/dev/dri --device=/dev/mxcd --group-add video" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + + # metax cases + # "faster_rcnn:C500:pytorch_2.0:1:8:1": "/dataset/coco2017/", +} diff --git a/.history/training/run_benchmarks/config/test_conf_20240125131330.py b/.history/training/run_benchmarks/config/test_conf_20240125131330.py new file mode 100644 index 000000000..400119015 --- /dev/null +++ b/.history/training/run_benchmarks/config/test_conf_20240125131330.py @@ -0,0 +1,155 @@ +'''Test Configs, including''' +# -*-coding:utf-8 -*- + +# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. +# We will run benchmarks in training/ +VENDOR = "nvidia" + +# Accelerator options for docker. TODO FIXME support more accelerators. +# possible value of ACCE_CONTAINER_OPT are: +# iluvatar: +# ' -v /lib/modules:/lib/modules ' +# kunlunxin: +# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ +# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ +# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" +# nvidia: +# " --gpus all" +# ascend: +# "--device=/dev/davinciX --device=/dev/davinci_manager + \ +# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ +# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" +# mthreads: +# " --env MTHREADS_VISIBLE_DEVICES=all" +# metax: +# " --device=/dev/dri --device=/dev/mxcd --group-add video" +ACCE_CONTAINER_OPT = " --gpus all" +# XXX_VISIBLE_DEVICE item name in env +# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: +# CUDA_VISIBLE_DEVICES for nvidia, iluvatar +# MLU_VISIBLE_DEVICES for cambricon +# XPU_VISIBLE_DEVICES for kunlunxin +# ASCEND_VISIBLE_DEVICES for ascend +# MUSA_VISIBLE_DEVICES for mthreads +ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" + +# Set pip source, which will be used in preparing envs in container +PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" + +# The path that flagperf deploy in the cluster. +# Users must set FLAGPERF_PATH to where flagperf deploy +# You can assume the preset "/home/FlagPerf/training" points to Null +FLAGPERF_PATH = "/home/FlagPerf/training" +# Set log path on the host here. +FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" + +# Set log level. It should be 'debug', 'info', 'warning', or 'error'. +FLAGPERF_LOG_LEVEL = 'debug' + +# System config +# Share memory size +SHM_SIZE = "32G" +# Clear cache config. Clean system cache before running testcase. +CLEAR_CACHES = True + +# Set the case dict you want to run here. +''' +# Users must use { + "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} +''' +CASES = { + # nvidia cases + "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", + "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", + + #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", + # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", + # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", + # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", + + # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", + # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", + "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", + + # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", + + # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", + # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", + # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", + + # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", + # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", + # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", + + # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", + # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", + # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", + # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" + # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" + + # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" + # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" + + # kunlunxin cases + # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", + # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", + # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", + # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", + # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", + # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", + # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", + # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", + # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + + + # iluvatar cases + # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + + + # mthreads cases + # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", + # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", + # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", + # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", + + # iluvatar cases + # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", + # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", + + # metax cases + # "faster_rcnn:C500:pytorch_2.0:1:8:1": "/dataset/coco2017/", +} From bf4641c041e459d3800fe03fd3a761b8e81a0f2d Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 13:14:14 +0800 Subject: [PATCH 20/34] delete history --- .../config/test_conf_20240125112105.py | 155 ------------------ .../config/test_conf_20240125131330.py | 155 ------------------ 2 files changed, 310 deletions(-) delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240125112105.py delete mode 100644 .history/training/run_benchmarks/config/test_conf_20240125131330.py diff --git a/.history/training/run_benchmarks/config/test_conf_20240125112105.py b/.history/training/run_benchmarks/config/test_conf_20240125112105.py deleted file mode 100644 index 400119015..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240125112105.py +++ /dev/null @@ -1,155 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -# metax: -# " --device=/dev/dri --device=/dev/mxcd --group-add video" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - - # metax cases - # "faster_rcnn:C500:pytorch_2.0:1:8:1": "/dataset/coco2017/", -} diff --git a/.history/training/run_benchmarks/config/test_conf_20240125131330.py b/.history/training/run_benchmarks/config/test_conf_20240125131330.py deleted file mode 100644 index 400119015..000000000 --- a/.history/training/run_benchmarks/config/test_conf_20240125131330.py +++ /dev/null @@ -1,155 +0,0 @@ -'''Test Configs, including''' -# -*-coding:utf-8 -*- - -# Set accelerator's vendor name, e.g. iluvatar, cambricon, kunlunxin, ascend, mthreads and metax. -# We will run benchmarks in training/ -VENDOR = "nvidia" - -# Accelerator options for docker. TODO FIXME support more accelerators. -# possible value of ACCE_CONTAINER_OPT are: -# iluvatar: -# ' -v /lib/modules:/lib/modules ' -# kunlunxin: -# " --device=/dev/xpu0 --device=/dev/xpu1 --device=/dev/xpu2" + \ -# " --device=/dev/xpu3 --device=/dev/xpu4 --device=/dev/xpu5" + \ -# " --device=/dev/xpu6 --device=/dev/xpu7 --device=/dev/xpuctrl" -# nvidia: -# " --gpus all" -# ascend: -# "--device=/dev/davinciX --device=/dev/davinci_manager + \ -# --device=/dev/devmm_svm --device=/dev/hisi_hdc + \ -# -v /usr/local/Ascend/driver -v /usr/local/dcmi -v /usr/local/bin/npu-smi" -# mthreads: -# " --env MTHREADS_VISIBLE_DEVICES=all" -# metax: -# " --device=/dev/dri --device=/dev/mxcd --group-add video" -ACCE_CONTAINER_OPT = " --gpus all" -# XXX_VISIBLE_DEVICE item name in env -# possible value of ACCE_VISIBLE_DEVICE_ENV_NAME are: -# CUDA_VISIBLE_DEVICES for nvidia, iluvatar -# MLU_VISIBLE_DEVICES for cambricon -# XPU_VISIBLE_DEVICES for kunlunxin -# ASCEND_VISIBLE_DEVICES for ascend -# MUSA_VISIBLE_DEVICES for mthreads -ACCE_VISIBLE_DEVICE_ENV_NAME = "CUDA_VISIBLE_DEVICES" - -# Set pip source, which will be used in preparing envs in container -PIP_SOURCE = "https://mirror.baidu.com/pypi/simple" - -# The path that flagperf deploy in the cluster. -# Users must set FLAGPERF_PATH to where flagperf deploy -# You can assume the preset "/home/FlagPerf/training" points to Null -FLAGPERF_PATH = "/home/FlagPerf/training" -# Set log path on the host here. -FLAGPERF_LOG_PATH = FLAGPERF_PATH + "/result/" - -# Set log level. It should be 'debug', 'info', 'warning', or 'error'. -FLAGPERF_LOG_LEVEL = 'debug' - -# System config -# Share memory size -SHM_SIZE = "32G" -# Clear cache config. Clean system cache before running testcase. -CLEAR_CACHES = True - -# Set the case dict you want to run here. -''' -# Users must use { - "model:framework:hardwareID:nnodes:nproc:repeat": "dataset path"} -''' -CASES = { - # nvidia cases - "bert:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/bert/train/", - "glm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - "cpm:pytorch_1.8:A100:1:8:1": "/raid/home_datasets_ckpt/cpm/train/", - - #"llama2_7b_finetune:pytorch_2.0.1:A100:1:1:1": "/raid/dataset/llama2_finetune/", - # "mobilenetv2:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch_1.13:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "faster_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/fasterrcnn/coco2017/", - # "bigtransfer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - # "tacotron2:pytorch_1.13:A100:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "resnet50:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch_1.8:A100:1:8:1": "/raid/dataset/maskrcnn/coco2017", - # "dlrm:pytorch_1.10:A100:1:8:1": "/raid/dataset/criteo_1TB_click_logs/binary_dataset/", - - # "wav2vec2:pytorch_1.13:A100:1:8:1": "/raid/dataset/wav2vec2_data/LibriSpeech", - # "WaveGlow:pytorch_1.13:A100:1:8:1": "/raid/dataset/LJSpeech/", - "resnet50:tensorflow2:A100:1:8:1": "/raid/dataset/ImageNet2012/tf_records/", - - # "distilbert:pytorch_1.12:A100:1:8:1": "/raid/dataset/distilbert/", - - # "transformer:pytorch_1.13:A100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "swin_transformer:pytorch_1.8:A100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer_xl:pytorch_1.8:A100:1:8:1": "/raid/dataset/transformer_xl/", - # "t5_small:pytorch_1.8:A100:1:8:1": "/home/datasets_ckpt/t5_small_train", - # "gpt2:pytorch_1.12:A100:1:8:1": "/raid/dataset/gpt2", - - # "bert_hf:pytorch_1.13:A100:1:8:1": "/raid/dataset/bert_hf_train", - # "longformer:pytorch_1.12:A100:1:8:1": "/raid/dataset/longformer_train/", - # "detr:pytorch_1.13:A100:1:8:1": "/raid/dataset/detr/coco2017/", - - # "llama2_7b:deepspeed:A100:1:8:1": "/raid/dataset/llama2_7b_pretrain", - # "aquila2_7b:flagscale:A100:1:8:1": "/raid/dataset/aquila2_7b_pretrain", - # "llama2_70B:megatron:H800:4:8:1": "/raid/dataset/llama2_70B_pretrain", - # "llama1_7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/llama/" - # "llama1_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/llama/" - - # "gpt3_6.7B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_6.7B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP1PP1SH2SP8A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH1SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP1SH2SP4A10040G:1:8:1":"/raid/dataset/gpt-3/" - # "gpt3_13B:paddle_2.5.1:TP2PP4SH1SP1A10040G:1:8:1":"/raid/dataset/gpt-3/" - - # kunlunxin cases - # "gpt2:pytorch:R300:1:8:1": "/raid/dataset/gpt2", - # "resnet50:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "mask_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "retinanet:pytorch:R300:1:8:1": "/raid/dataset/coco2017/", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "faster_rcnn:pytorch:R300:1:8:1": "/raid/dataset/coco2017", - # "transformer_xl:pytorch:R300:1:8:1": "/raid/dataset/transformer_xl/", - # "glm:pytorch:R300:1:8:1": "/raid/home_datasets_ckpt/glm/train/", - # "mobilenetv2:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "bert:pytorch:R300:1:8:1": "/raid/dataset/bert_large/train", - # "longformer:pytorch:R300:1:8:1": "/raid/dataset/longformer_train", - # "distilbert:pytorch:R300:1:8:1": "/raid/dataset/distilbert/", - # "swin_transformer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "tacotron2:pytorch:R300:1:8:1": "/raid/dataset/tacotron2/LJSpeech/", - # "transformer:pytorch:R300:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bigtransfer:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "efficientnet:pytorch:R300:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - - - # iluvatar cases - # "bigtransfer:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "vit:pytorch:BI-V100:1:8:1": "/raid/dataset/ImageNet_1k_2012/", - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - - - # mthreads cases - # "resnet50:pytorch_2.0:S4000:1:8:1": "/data/flagperf/ImageNet", - # "retinanet:pytorch_2.0:S4000:1:8:1": "/data/flagperf/coco2017", - # "bert_hf:pytorch_2.0:S4000:1:8:1": "/data/flagperf/bert_hf", - # "llama2_7b:deepspeed:S4000:1:8:1": "/data/flagperf/llama/openwebtext", - - # iluvatar cases - # "transformer:pytorch:BI-V100:1:8:1": "/raid/dataset/transformer/wmt14_en_de_joined_dict", - # "bert_hf:pytorch:BI-V100:1:8:1": "/raid/dataset/bert_hf_train", - - # metax cases - # "faster_rcnn:C500:pytorch_2.0:1:8:1": "/dataset/coco2017/", -} From 2070c1e6b2a4a208bb26e6c2c60632fcaef661ba Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 18:05:12 +0800 Subject: [PATCH 21/34] fix env bug & add mx tf32 env --- training/benchmarks/driver/helper.py | 5 +++++ .../kunlunxin/faster_rcnn-pytorch/environment_variables.sh | 5 +++++ training/kunlunxin/faster_rcnn-pytorch/requirements.txt | 5 +++++ training/run_benchmarks/run.py | 3 +++ 4 files changed, 18 insertions(+) create mode 100644 training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh create mode 100644 training/kunlunxin/faster_rcnn-pytorch/requirements.txt diff --git a/training/benchmarks/driver/helper.py b/training/benchmarks/driver/helper.py index de513901e..c616b4e92 100644 --- a/training/benchmarks/driver/helper.py +++ b/training/benchmarks/driver/helper.py @@ -83,3 +83,8 @@ def set_seed(self, seed: int, vendor: str = None): else: # TODO 其他厂商设置seed,在此扩展 pass + + if os.environ.get("METAX_USE_TF32"): + import torch + torch.backends.cuda.matmul.allow_tf32 = True + torch.backends.cudnn.allow_tf32 = True \ No newline at end of file diff --git a/training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh b/training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh new file mode 100644 index 000000000..a7f429ac2 --- /dev/null +++ b/training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh @@ -0,0 +1,5 @@ +# ================================================= +# Export variables +# ================================================= + +export METAX_USE_TF32=1 diff --git a/training/kunlunxin/faster_rcnn-pytorch/requirements.txt b/training/kunlunxin/faster_rcnn-pytorch/requirements.txt new file mode 100644 index 000000000..78e3b44bf --- /dev/null +++ b/training/kunlunxin/faster_rcnn-pytorch/requirements.txt @@ -0,0 +1,5 @@ +/root/.cache/torch/hub/checkpoints/torchvision-0.15.1+mc2.19.0.2-cp38-cp38-linux_x86_64.whl +/root/.cache/torch/hub/checkpoints/torch-2.0.0+gite544b36-cp38-cp38-linux_x86_64.whl +pycocotools +numpy +tqdm \ No newline at end of file diff --git a/training/run_benchmarks/run.py b/training/run_benchmarks/run.py index 96f1f508e..bb0324317 100644 --- a/training/run_benchmarks/run.py +++ b/training/run_benchmarks/run.py @@ -288,6 +288,9 @@ def start_tasks_in_cluster(dp_path, container_name, case_config, base_args, count, curr_log_path): '''Start tasks in cluster, and NOT wait.''' nnodes = case_config["nnodes"] + framework_sub_path = case_config["framework"] + if "_" in framework_sub_path: + framework_sub_path = framework_sub_path.split("_")[0] env_file = os.path.join( tc.FLAGPERF_PATH, tc.VENDOR, case_config["model"] + "-" + case_config["framework"], From 66887d574a0b5e6f6a7b56e0f7b5c07dc0c29ca9 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 18:10:03 +0800 Subject: [PATCH 22/34] update requirements --- training/kunlunxin/faster_rcnn-pytorch/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/training/kunlunxin/faster_rcnn-pytorch/requirements.txt b/training/kunlunxin/faster_rcnn-pytorch/requirements.txt index 78e3b44bf..45dd53af8 100644 --- a/training/kunlunxin/faster_rcnn-pytorch/requirements.txt +++ b/training/kunlunxin/faster_rcnn-pytorch/requirements.txt @@ -2,4 +2,5 @@ /root/.cache/torch/hub/checkpoints/torch-2.0.0+gite544b36-cp38-cp38-linux_x86_64.whl pycocotools numpy -tqdm \ No newline at end of file +tqdm +schedule \ No newline at end of file From 687edc77ca584ba470c905a8e684ab346a273782 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 18:11:52 +0800 Subject: [PATCH 23/34] fix bug --- training/run_benchmarks/run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/training/run_benchmarks/run.py b/training/run_benchmarks/run.py index bb0324317..a846ce2b1 100644 --- a/training/run_benchmarks/run.py +++ b/training/run_benchmarks/run.py @@ -293,7 +293,7 @@ def start_tasks_in_cluster(dp_path, container_name, case_config, base_args, framework_sub_path = framework_sub_path.split("_")[0] env_file = os.path.join( tc.FLAGPERF_PATH, tc.VENDOR, - case_config["model"] + "-" + case_config["framework"], + case_config["model"] + "-" + framework_sub_path, "config/environment_variables.sh") framework = case_config["framework"].split("_")[0] if (os.path.isfile(env_file)): From c90ba5b8f3b52d15dddb4919454f000de8f04137 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 18:28:01 +0800 Subject: [PATCH 24/34] fix bug --- .../run_benchmarks/run_20240125181129.py | 647 ++++++++++++++++++ .../run_benchmarks/run_20240125181222.py | 647 ++++++++++++++++++ .../environment_variables.sh | 0 .../faster_rcnn-pytorch/requirements.txt | 0 4 files changed, 1294 insertions(+) create mode 100644 .history/training/run_benchmarks/run_20240125181129.py create mode 100644 .history/training/run_benchmarks/run_20240125181222.py rename training/{kunlunxin => metax}/faster_rcnn-pytorch/environment_variables.sh (100%) rename training/{kunlunxin => metax}/faster_rcnn-pytorch/requirements.txt (100%) diff --git a/.history/training/run_benchmarks/run_20240125181129.py b/.history/training/run_benchmarks/run_20240125181129.py new file mode 100644 index 000000000..a846ce2b1 --- /dev/null +++ b/.history/training/run_benchmarks/run_20240125181129.py @@ -0,0 +1,647 @@ +# Copyright (c) 2022 BAAI. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License") +#!/usr/bin/env python3 +# -*- coding: UTF-8 -*- +''' TODO Copyright and Other info ''' + +import os +import sys +import time +import getpass +from config import cluster_conf as cc +from config import test_conf as tc + +CURR_PATH = os.path.abspath(os.path.dirname(__file__)) +sys.path.append(os.path.abspath(os.path.join(CURR_PATH, "../"))) +from utils import cluster_manager +from utils import flagperf_logger +from utils import image_manager + +VERSION = "v0.1" +RUN_LOGGER = flagperf_logger.FlagPerfLogger() +CLUSTER_MGR = cluster_manager.ClusterManager() + + +def usage(): + ''' Show usage and exit with exit_code. ''' + print("Usage: python3 ", __file__) + print("Edit config file test_conf.py & cluster_conf.py in " + "training/run_benchmarks/config and run.") + sys.exit(0) + + +def check_cluster_health(): + ''' Try to ssh login to all the hosts in cluster_conf.hosts. + Return None if everything goes well. + ''' + RUN_LOGGER.debug("Cluster healthcheck ssh. Hosts are: " + + ",".join(CLUSTER_MGR.get_hosts_list())) + bad_hosts = CLUSTER_MGR.healthcheck() + if len(bad_hosts) != 0: + for bad_host in bad_hosts: + RUN_LOGGER.error("Check " + bad_host + " failed. ssh command exit " + "with: " + str(bad_hosts[bad_host])) + RUN_LOGGER.error("Check hosts in the cluster......[FAILED] [EXIT]") + sys.exit(3) + RUN_LOGGER.info("Check hosts in the cluster......[SUCCESS]") + + +def _get_deploy_path(): + '''Return deploy path according to FLAGPERF_LOG_PATH_HOST in test_conf.''' + if 'FLAGPERF_PATH' not in tc.__dict__.keys() \ + or tc.FLAGPERF_PATH is None: + dp_path = os.path.abspath(os.path.join(CURR_PATH, "../../training/")) + else: + dp_path = os.path.abspath(tc.FLAGPERF_PATH) + return dp_path + + +def check_cluster_deploy_path(dp_path): + '''Make sure that flagperf is deployed on all the hosts + ''' + RUN_LOGGER.debug("Check flagperf deployment path: " + dp_path) + bad_hosts = CLUSTER_MGR.run_command_all_hosts("cd " + dp_path) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't find deployed path: " + + ",".join(bad_hosts.keys())) + RUN_LOGGER.error("Check cluster deploy path " + dp_path + + "......[FAILED] [EXIT]") + sys.exit(3) + RUN_LOGGER.info("Check flagperf deployment path: " + dp_path + + "...[SUCCESS]") + + +def check_testconf(): + ''' Check test config. + Make sure all CASES are configed. + ''' + RUN_LOGGER.debug("Check test config: VENDOR") + if 'VENDOR' not in tc.__dict__.keys(): + RUN_LOGGER.error("VENDOR MUST be set in test_conf...[EXIT]") + sys.exit(2) + RUN_LOGGER.info("Check test config: VENDOR......[SUCCESS]") + + +def check_case_config(case, case_config, vendor): + '''Check config of the testcase. Make sure its path exists, framework is + right and config file exists. + ''' + RUN_LOGGER.debug("Check config of test case: " + case) + must_configs = [ + "model", "framework", "nnodes", "nproc", "config", "repeat", + "data_dir_host", "data_dir_container" + ] + for config_item in case_config.keys(): + if config_item in must_configs: + must_configs.remove(config_item) + if len(must_configs) > 0: + RUN_LOGGER.warning("Case " + case + " misses some config items: " + + ",".join(must_configs)) + return False + + framework = case_config["framework"].split("_")[0] + model_path = CURR_PATH + "/../benchmarks/" + case_config["model"] + \ + "/" + framework + model_path = os.path.abspath(model_path) + if not os.path.exists(model_path): + RUN_LOGGER.warning("Case " + case + ": deploy path doesn't exist: " + + model_path) + return False + + config_path = CURR_PATH + "/../" + vendor + "/" + case_config["model"] + \ + "-" + framework + "/config/" + \ + case_config["config"] + ".py" + if not os.path.isfile(config_path): + RUN_LOGGER.warning("Case " + case + ": config file doesn't exist: " + + config_path) + return False + nnodes = case_config["nnodes"] + cluster_host_counts = CLUSTER_MGR.get_hosts_count() + # TODO Check nprocs < 8? + if nnodes > cluster_host_counts: + RUN_LOGGER.error("This case seems need more hosts than cluster has. " + + "The count of need hosts is " + str(nnodes) + + ", but cluster has " + str(cluster_host_counts)) + return False + + RUN_LOGGER.debug("Check config of test case: " + case + " ...[SUCCESS]") + return True + + +def prepare_docker_image_cluster(dp_path, image_mgr, framework, nnodes): + '''Prepare docker image in registry and in the cluster. + ''' + vendor = tc.VENDOR + image_vendor_dir = os.path.join( + CURR_PATH, "../" + vendor + "/docker_image/" + framework) + image_name = image_mgr.repository + ":" + image_mgr.tag + RUN_LOGGER.debug("Prepare docker image in cluster. image_name=" + + image_name + " image_vendor_dir=" + image_vendor_dir) + prepare_image_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/image_manager.py -o build -i " \ + + image_mgr.repository + " -t " + image_mgr.tag \ + + " -d " + image_vendor_dir + " -f " + framework + timeout = 1200 + RUN_LOGGER.debug("Run cmd in the cluster to prepare docker image: " + + prepare_image_cmd + " timeout=" + str(timeout)) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_image_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't pull image: " + + ",".join(bad_hosts.keys())) + return False + return True + + +def prepare_running_env(dp_path, container_name, case_config): + '''Install extensions and setup env before start task in container. + ''' + nnodes = case_config["nnodes"] + model = case_config["model"] + framework = case_config["framework"] + prepare_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runcmdin -c " \ + + container_name + " -t 1800 -r \"python3 " \ + + tc.FLAGPERF_PATH + "/" \ + + "/run_benchmarks/prepare_in_container.py --framework " \ + + framework + " --model " + model + " --vendor " \ + + tc.VENDOR + " --pipsource " + tc.PIP_SOURCE + "\"" + timeout = 1800 + RUN_LOGGER.debug( + "Run cmd in the cluster to prepare running environment: " + + prepare_cmd + " timeout=" + str(timeout)) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't prepare running environment " + + "properly: " + ",".join(bad_hosts.keys())) + return False + return True + + +def start_container_in_cluster(dp_path, run_args, container_name, image_name, + nnodes): + '''Call CLUSTER_MGR tool to start containers.''' + start_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runnew " \ + + " -c " + container_name + " -i " + image_name + " -a \"" \ + + run_args + "\"" + RUN_LOGGER.debug("Run cmd in the cluster to start container: " + start_cmd) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(start_cmd, nnodes, 600) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't start docker container: " + + ",".join(bad_hosts.keys())) + return False + return True + + +def stop_container_in_cluster(dp_path, container_name, nnodes): + '''Call CLUSTER_MGR tool to stop containers.''' + stop_cont_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o stop" \ + + " -c " + container_name + RUN_LOGGER.debug("Run cmd to stop container(s) in the cluster:" + + stop_cont_cmd) + failed_hosts = CLUSTER_MGR.run_command_some_hosts(stop_cont_cmd, nnodes, + 60) + if len(failed_hosts) != 0: + RUN_LOGGER.warning("Hosts that stop container " + container_name + + " failed:" + ",".join(failed_hosts.keys()) + + " Continue.") + return False + RUN_LOGGER.info("All containers stoped in the cluster") + return True + + +def clear_caches_cluster(clear, nnodes): + '''Set vm.drop to clean the system caches.''' + if not clear: + RUN_LOGGER.info("Caches clear config is NOT set.") + return + + clear_cmd = "sync && sudo /sbin/sysctl vm.drop_caches=3" + timeout = 30 + RUN_LOGGER.debug("Run cmd in the cluster to clear the system cache: " + + clear_cmd + " timeout=" + str(timeout)) + failed_hosts = CLUSTER_MGR.run_command_some_hosts(clear_cmd, nnodes, + timeout) + if len(failed_hosts) != 0: + RUN_LOGGER.warning("Hosts that clear cache failed: " + + ",".join(failed_hosts.keys()) + ". Continue.") + RUN_LOGGER.info("Clear system caches if it set......[SUCCESS]") + + +def start_monitors_in_cluster(dp_path, case_log_dir, nnodes): + '''Start sytem and vendor's monitors.''' + start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/sys_monitor.py -o restart -l " + timeout = 60 + RUN_LOGGER.debug("Run cmd in the cluster to start system monitors: " + + start_mon_cmd) + bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, + case_log_dir, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't start system monitors: " + + ",".join(bad_hosts.keys())) + + ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") + start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " " + ven_mon_path + " -o restart -l " + RUN_LOGGER.debug("Run cmd in the cluster to start vendor's monitors: " + + start_mon_cmd) + bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, + case_log_dir, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't start vendor's monitors: " + + ",".join(bad_hosts.keys())) + + +def stop_monitors_in_cluster(dp_path, nnodes): + '''Stop sytem and vendor's monitors.''' + stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/sys_monitor.py -o stop" + timeout = 60 + RUN_LOGGER.debug("Run cmd in the cluster to stop system monitors: " + + stop_mon_cmd) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't stop system monitors: " + + ",".join(bad_hosts.keys())) + + ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") + stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " " + ven_mon_path + " -o stop" + RUN_LOGGER.debug("Run cmd in the cluster to stop vendor's monitors: " + + stop_mon_cmd) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't stop vendor's monitors: " + + ",".join(bad_hosts.keys())) + + +def start_tasks_in_cluster(dp_path, container_name, case_config, base_args, + count, curr_log_path): + '''Start tasks in cluster, and NOT wait.''' + nnodes = case_config["nnodes"] + framework_sub_path = case_config["framework"] + if "_" in framework_sub_path: + framework_sub_path = framework_sub_path.split("_")[0] + env_file = os.path.join( + tc.FLAGPERF_PATH, tc.VENDOR, + case_config["model"] + "-" + framework_sub_path, + "config/environment_variables.sh") + framework = case_config["framework"].split("_")[0] + if (os.path.isfile(env_file)): + start_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runcmdin -c " \ + + container_name + " -d -r \"source " + env_file \ + + " > " + curr_log_path + "/source_env.log.txt " \ + + "2>&1 && " \ + + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ + + framework + "/start_" + framework + "_task.py " \ + + base_args + " --round " + str(count) + else: + start_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runcmdin -c " \ + + container_name + " -d -r \"" \ + + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ + + framework + "/start_" + framework + "_task.py " \ + + base_args + " --round " + str(count) + if tc.ACCE_VISIBLE_DEVICE_ENV_NAME is not None: + start_cmd += " --visible_dev_env " \ + + tc.ACCE_VISIBLE_DEVICE_ENV_NAME + start_cmd += " \"" + RUN_LOGGER.debug("Run cmd in the cluster to start tasks, cmd=" + start_cmd) + CLUSTER_MGR.run_command_some_hosts_distribution_info(start_cmd, nnodes, 15) + # Wait a moment for starting tasks. + time.sleep(60) + + +def wait_for_finish(dp_path, container_name, pid_file_path, nnodes): + '''wait all the processes of start_xxx_task.py finished. + ''' + # Aussme pid of start_xxx_task.py won't loop in a short time. + check_cmd = "cd " + dp_path + "; " + sys.executable \ + + " utils/container_manager.py -o pidrunning -c " \ + + container_name + " -f " + pid_file_path + + RUN_LOGGER.debug( + "Run cmd to check whether the training tasks is running: " + check_cmd) + while True: + bad_hosts = CLUSTER_MGR.run_command_some_hosts(check_cmd, + nnodes, + no_log=True) + if len(bad_hosts) == nnodes: + break + time.sleep(10) + + +def prepare_containers_env_cluster(dp_path, case_log_dir, container_name, + image_name, case_config): + '''Prepare containers environments in the cluster. It will start + containers, setup environments, start monitors, and clear caches.''' + nnodes = case_config["nnodes"] + container_start_args = " --rm --init --detach --net=host --uts=host" \ + + " --ipc=host --security-opt=seccomp=unconfined" \ + + " --privileged=true --ulimit=stack=67108864" \ + + " --ulimit=memlock=-1" \ + + " -w " + tc.FLAGPERF_PATH \ + + " --shm-size=" + tc.SHM_SIZE \ + + " -v " + dp_path + ":" \ + + tc.FLAGPERF_PATH \ + + " -v " + case_config["data_dir_host"] + ":" \ + + case_config["data_dir_container"] + if tc.ACCE_CONTAINER_OPT is not None: + container_start_args += " " + tc.ACCE_CONTAINER_OPT + + RUN_LOGGER.info("a) Stop old container(s) first.") + stop_container_in_cluster(dp_path, container_name, nnodes) + RUN_LOGGER.info("b) Start container(s) in the cluster.") + if not start_container_in_cluster(dp_path, container_start_args, + container_name, image_name, nnodes): + RUN_LOGGER.error("b) Start container in the cluster......" + "[FAILED]. Ignore this round.") + return False + RUN_LOGGER.info("b) Start container(s) in the cluster.......[SUCCESS]") + + RUN_LOGGER.info("c) Prepare running environment.") + if not prepare_running_env(dp_path, container_name, case_config): + RUN_LOGGER.error("c) Prepare running environment......" + "[FAILED]. Ignore this round.") + RUN_LOGGER.info("Stop containers in cluster.") + stop_container_in_cluster(dp_path, container_name, nnodes) + return False + RUN_LOGGER.info("c) Prepare running environment......[SUCCESS]") + RUN_LOGGER.info("d) Start monitors......") + start_monitors_in_cluster(dp_path, case_log_dir, nnodes) + RUN_LOGGER.info("e) Clear system caches if it set......") + clear_caches_cluster(tc.CLEAR_CACHES, nnodes) + return True + + +def clean_containers_env_cluster(dp_path, container_name, nnodes): + '''Clean containers environments in the cluster. It will stop containers, + and stop monitors.''' + RUN_LOGGER.info("a) Stop containers......") + stop_container_in_cluster(dp_path, container_name, nnodes) + RUN_LOGGER.info("b) Stop monitors......") + stop_monitors_in_cluster(dp_path, nnodes) + + +def collect_and_merge_logs(curr_log_path, cases): + '''Scp logs from hosts in the cluster to temp dir, and then merge all. + ''' + get_all = True + RUN_LOGGER.info("Collect logs in cluster.") + for case in cases: + rets, case_config = get_config_from_case(case) + repeat = case_config["repeat"] + for i in range(1, repeat + 1): + case_log_dir = os.path.join(curr_log_path, case, "round" + str(i)) + RUN_LOGGER.debug("Case " + case + ", round " + str(i) + + ", log dir: " + case_log_dir) + nnodes = case_config["nnodes"] + failed_hosts = CLUSTER_MGR.collect_files_some_hosts(curr_log_path, + curr_log_path, + nnodes, + timeout=600) + if len(failed_hosts) != 0: + RUN_LOGGER.error("Case " + case + ", round " + str(i) + + ", log dir: " + case_log_dir + + " collect log failed on hosts: " + + ",".join(failed_hosts)) + get_all = False + else: + RUN_LOGGER.info("Case " + case + ", round " + str(i) + + ", get all logs in dir: " + case_log_dir) + + if get_all: + RUN_LOGGER.info("Congrats! See all logs in " + curr_log_path) + else: + RUN_LOGGER.warning("Sorry! Not all logs have been collected in " + + curr_log_path) + + +def get_config_from_case(case): + '''check case is string''' + if not isinstance(case, str): + RUN_LOGGER.error("Key in test_config.CASES must be str") + return False, None + + case_info = case.split(":") + '''check if 4+ : in case, we don't care what to put in''' + if len(case_info) < 6: + RUN_LOGGER.error( + "At least 6 terms split by \":\" should in test_config.CASES") + RUN_LOGGER.error("model:framework:hardware_model:nnodes:nproc:repeat") + return False, None + + case_model = case_info[0] + case_framework = case_info[1] + case_hardware = case_info[2] + case_nnodes = case_info[3] + case_nproc = case_info[4] + case_repeat = case_info[5] + + case_config = {"model": case_model} + case_config["framework"] = case_framework + case_config[ + "config"] = "config_" + case_hardware + "x" + case_nnodes + "x" + case_nproc + case_config["repeat"] = int(case_repeat) + case_config["nnodes"] = int(case_nnodes) + case_config["nproc"] = int(case_nproc) + case_config["data_dir_host"] = tc.CASES[case] + case_config["data_dir_container"] = tc.CASES[case] + return True, case_config + + +def get_valid_cases(): + '''Check case config in test_conf, return valid cases list.''' + if not isinstance(tc.CASES, dict): + RUN_LOGGER.error( + "No valid cases found in test_conf because test_config.CASES is not a dict...[EXIT]" + ) + sys.exit(4) + RUN_LOGGER.debug("Check configs of all test cases: " + ",".join(tc.CASES)) + valid_cases = [] + cases_config_error = [] + for case in tc.CASES: + rets, case_config = get_config_from_case(case) + if (not rets) or (not check_case_config(case, case_config, tc.VENDOR)): + cases_config_error.append(case) + continue + valid_cases.append(case) + if len(valid_cases) == 0: + RUN_LOGGER.error("No valid cases found in test_conf...[EXIT]") + sys.exit(4) + RUN_LOGGER.debug("Valid cases: " + ",".join(valid_cases)) + RUN_LOGGER.debug("Invalid cases that config is error: " + + ",".join(cases_config_error)) + RUN_LOGGER.info("Get valid cases list......[SUCCESS]") + return valid_cases + + +def print_welcome_msg(): + '''Print colorful welcome message to console.''' + print("\033[1;34;40m==============================================\033[0m") + print("\033[1;36;40m Welcome to FlagPerf!\033[0m") + print( + "\033[1;36;40m See more at https://github.com/FlagOpen/FlagPerf \033[0m" + ) + print("\033[1;34;40m==============================================\033[0m") + + +def prepare_case_config_cluster(dp_path, case_config, case): + '''Sync case config files in cluster.''' + RUN_LOGGER.info("--------------------------------------------------") + RUN_LOGGER.info("Testcase " + case + " config:") + for config_item in case_config.keys(): + RUN_LOGGER.info(config_item + ":\t" + str(case_config[config_item])) + RUN_LOGGER.info("--------------------------------------------------") + model = case_config["model"] + framework = case_config["framework"].split("_")[0] + config_file = case_config["config"] + ".py" + nnodes = case_config["nnodes"] + case_config_dir = os.path.join(dp_path, tc.VENDOR, model + "-" + framework, + "config") + case_config_file = os.path.join(case_config_dir, config_file) + failed_hosts = CLUSTER_MGR.sync_file_to_some_hosts(case_config_file, + case_config_dir, nnodes) + if len(failed_hosts) != 0: + RUN_LOGGER.error("Hosts that sync vendor case config file failed: " + + ",".join(failed_hosts.keys())) + return False + return True + + +def log_test_configs(cases, curr_log_path, dp_path): + '''Put test configs to log ''' + RUN_LOGGER.info("--------------------------------------------------") + RUN_LOGGER.info("Prepare to run flagperf benchmakrs with configs: ") + RUN_LOGGER.info("Deploy path on host:\t" + dp_path) + RUN_LOGGER.info("Vendor:\t\t" + tc.VENDOR) + RUN_LOGGER.info("Testcases:\t\t[" + ','.join(cases) + "]") + RUN_LOGGER.info("Log path on host:\t" + curr_log_path) + RUN_LOGGER.info("Cluster:\t\t[" + ",".join(cc.HOSTS) + "]") + RUN_LOGGER.info("--------------------------------------------------") + + +def main(): + '''Main process to run all the testcases''' + + print_welcome_msg() + + # Set logger first + timestamp_log_dir = "run" + time.strftime("%Y%m%d%H%M%S", time.localtime()) + curr_log_path = os.path.join(tc.FLAGPERF_LOG_PATH, timestamp_log_dir) + RUN_LOGGER.init(curr_log_path, + "flagperf_run.log", + tc.FLAGPERF_LOG_LEVEL, + "both", + log_caller=True) + + RUN_LOGGER.info("======== Step 1: Check environment and configs. ========") + RUN_LOGGER.info("Initialize logger with log path: " + curr_log_path + + "......[SUCCESS]") + + # Check test environment and configs of testcases. + CLUSTER_MGR.init(cc.HOSTS, + cc.SSH_PORT, + getpass.getuser(), + logger=RUN_LOGGER) + check_cluster_health() + dp_path = _get_deploy_path() + check_cluster_deploy_path(dp_path) + check_testconf() + cases = get_valid_cases() + log_test_configs(cases, curr_log_path, dp_path) + + RUN_LOGGER.info("========= Step 2: Prepare and Run test cases. =========") + + for case in cases: + RUN_LOGGER.info("======= Testcase: " + case + " =======") + rets, case_config = get_config_from_case(case) + + # Prepare docker image. + image_mgr = image_manager.ImageManager( + "flagperf-" + tc.VENDOR + "-" + case_config["framework"], + "t_" + VERSION) + image_name = image_mgr.repository + ":" + image_mgr.tag + nnodes = case_config["nnodes"] + RUN_LOGGER.info("=== 2.1 Prepare docker image:" + image_name + " ===") + if not prepare_docker_image_cluster(dp_path, image_mgr, + case_config["framework"], nnodes): + RUN_LOGGER.error("=== 2.1 Prepare docker image...[FAILED] " + + "Ignore this case " + case + " ===") + continue + + # Set command to start docker container in the cluster + container_name = image_mgr.repository + "-" + image_mgr.tag \ + + "-container" + + # Set command to start train script in container in the cluster + log_dir_container = os.path.join(tc.FLAGPERF_LOG_PATH, + timestamp_log_dir) + base_args = " --vendor " + tc.VENDOR + " --case_name " + case \ + + " --model_name " + case_config["model"] \ + + " --train_script " + "run_pretraining.py" \ + + " --nnodes " + str(nnodes) \ + + " --nproc " + str(case_config["nproc"]) \ + + " --hosts " + ",".join(cc.HOSTS) \ + + " --hosts_ports " + ",".join(cc.HOSTS_PORTS) \ + + " --data_dir " + case_config["data_dir_container"] \ + + " --log_dir " + log_dir_container \ + + " --log_level " + tc.FLAGPERF_LOG_LEVEL \ + + " --extern_config_file " + case_config["config"] \ + + ".py" + " --enable_extern_config " \ + + " --master_port " + cc.MASTER_PORT + RUN_LOGGER.info("=== 2.2 Prepare case config in cluster. ===") + if not prepare_case_config_cluster(dp_path, case_config, case): + RUN_LOGGER.warning("Prepare case config in cluster...[FAILED]. " + + "Ignore case " + case) + continue + RUN_LOGGER.info("=== 2.3 Setup container and run testcases. ===") + for count in range(1, case_config["repeat"] + 1): + RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + + " starts ==-") + RUN_LOGGER.info("1) Prepare container environments in cluster...") + case_log_dir = os.path.join(curr_log_path, case, + "round" + str(count)) + if not prepare_containers_env_cluster(dp_path, case_log_dir, + container_name, image_name, + case_config): + RUN_LOGGER.error("1) Prepare container environments in cluster" + "...[FAILED]. Ignore case " + case + + " round " + str(count)) + continue + RUN_LOGGER.info("2) Start tasks in the cluster...") + start_tasks_in_cluster(dp_path, container_name, case_config, + base_args, count, curr_log_path) + + # Wait until start_xxx_task.py finished. + RUN_LOGGER.info("3) Waiting for tasks end in the cluster...") + pid_file_path = os.path.join( + log_dir_container, "start_" + + case_config["framework"].split("_")[0] + "_task.pid") + wait_for_finish(dp_path, container_name, pid_file_path, nnodes) + RUN_LOGGER.info("3) Training tasks end in the cluster...") + RUN_LOGGER.info("4) Clean container environments in cluster...") + clean_containers_env_cluster(dp_path, container_name, nnodes) + RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + + " finished ==-") + RUN_LOGGER.info("=== 2.3 Setup container and run testcases finished." + " ===") + RUN_LOGGER.info("========= Step 3: Collect logs in the cluster. =========") + collect_and_merge_logs(curr_log_path, cases) + + +if __name__ == '__main__': + if len(sys.argv) > 1: + usage() + main() + RUN_LOGGER.stop() diff --git a/.history/training/run_benchmarks/run_20240125181222.py b/.history/training/run_benchmarks/run_20240125181222.py new file mode 100644 index 000000000..a846ce2b1 --- /dev/null +++ b/.history/training/run_benchmarks/run_20240125181222.py @@ -0,0 +1,647 @@ +# Copyright (c) 2022 BAAI. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License") +#!/usr/bin/env python3 +# -*- coding: UTF-8 -*- +''' TODO Copyright and Other info ''' + +import os +import sys +import time +import getpass +from config import cluster_conf as cc +from config import test_conf as tc + +CURR_PATH = os.path.abspath(os.path.dirname(__file__)) +sys.path.append(os.path.abspath(os.path.join(CURR_PATH, "../"))) +from utils import cluster_manager +from utils import flagperf_logger +from utils import image_manager + +VERSION = "v0.1" +RUN_LOGGER = flagperf_logger.FlagPerfLogger() +CLUSTER_MGR = cluster_manager.ClusterManager() + + +def usage(): + ''' Show usage and exit with exit_code. ''' + print("Usage: python3 ", __file__) + print("Edit config file test_conf.py & cluster_conf.py in " + "training/run_benchmarks/config and run.") + sys.exit(0) + + +def check_cluster_health(): + ''' Try to ssh login to all the hosts in cluster_conf.hosts. + Return None if everything goes well. + ''' + RUN_LOGGER.debug("Cluster healthcheck ssh. Hosts are: " + + ",".join(CLUSTER_MGR.get_hosts_list())) + bad_hosts = CLUSTER_MGR.healthcheck() + if len(bad_hosts) != 0: + for bad_host in bad_hosts: + RUN_LOGGER.error("Check " + bad_host + " failed. ssh command exit " + "with: " + str(bad_hosts[bad_host])) + RUN_LOGGER.error("Check hosts in the cluster......[FAILED] [EXIT]") + sys.exit(3) + RUN_LOGGER.info("Check hosts in the cluster......[SUCCESS]") + + +def _get_deploy_path(): + '''Return deploy path according to FLAGPERF_LOG_PATH_HOST in test_conf.''' + if 'FLAGPERF_PATH' not in tc.__dict__.keys() \ + or tc.FLAGPERF_PATH is None: + dp_path = os.path.abspath(os.path.join(CURR_PATH, "../../training/")) + else: + dp_path = os.path.abspath(tc.FLAGPERF_PATH) + return dp_path + + +def check_cluster_deploy_path(dp_path): + '''Make sure that flagperf is deployed on all the hosts + ''' + RUN_LOGGER.debug("Check flagperf deployment path: " + dp_path) + bad_hosts = CLUSTER_MGR.run_command_all_hosts("cd " + dp_path) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't find deployed path: " + + ",".join(bad_hosts.keys())) + RUN_LOGGER.error("Check cluster deploy path " + dp_path + + "......[FAILED] [EXIT]") + sys.exit(3) + RUN_LOGGER.info("Check flagperf deployment path: " + dp_path + + "...[SUCCESS]") + + +def check_testconf(): + ''' Check test config. + Make sure all CASES are configed. + ''' + RUN_LOGGER.debug("Check test config: VENDOR") + if 'VENDOR' not in tc.__dict__.keys(): + RUN_LOGGER.error("VENDOR MUST be set in test_conf...[EXIT]") + sys.exit(2) + RUN_LOGGER.info("Check test config: VENDOR......[SUCCESS]") + + +def check_case_config(case, case_config, vendor): + '''Check config of the testcase. Make sure its path exists, framework is + right and config file exists. + ''' + RUN_LOGGER.debug("Check config of test case: " + case) + must_configs = [ + "model", "framework", "nnodes", "nproc", "config", "repeat", + "data_dir_host", "data_dir_container" + ] + for config_item in case_config.keys(): + if config_item in must_configs: + must_configs.remove(config_item) + if len(must_configs) > 0: + RUN_LOGGER.warning("Case " + case + " misses some config items: " + + ",".join(must_configs)) + return False + + framework = case_config["framework"].split("_")[0] + model_path = CURR_PATH + "/../benchmarks/" + case_config["model"] + \ + "/" + framework + model_path = os.path.abspath(model_path) + if not os.path.exists(model_path): + RUN_LOGGER.warning("Case " + case + ": deploy path doesn't exist: " + + model_path) + return False + + config_path = CURR_PATH + "/../" + vendor + "/" + case_config["model"] + \ + "-" + framework + "/config/" + \ + case_config["config"] + ".py" + if not os.path.isfile(config_path): + RUN_LOGGER.warning("Case " + case + ": config file doesn't exist: " + + config_path) + return False + nnodes = case_config["nnodes"] + cluster_host_counts = CLUSTER_MGR.get_hosts_count() + # TODO Check nprocs < 8? + if nnodes > cluster_host_counts: + RUN_LOGGER.error("This case seems need more hosts than cluster has. " + + "The count of need hosts is " + str(nnodes) + + ", but cluster has " + str(cluster_host_counts)) + return False + + RUN_LOGGER.debug("Check config of test case: " + case + " ...[SUCCESS]") + return True + + +def prepare_docker_image_cluster(dp_path, image_mgr, framework, nnodes): + '''Prepare docker image in registry and in the cluster. + ''' + vendor = tc.VENDOR + image_vendor_dir = os.path.join( + CURR_PATH, "../" + vendor + "/docker_image/" + framework) + image_name = image_mgr.repository + ":" + image_mgr.tag + RUN_LOGGER.debug("Prepare docker image in cluster. image_name=" + + image_name + " image_vendor_dir=" + image_vendor_dir) + prepare_image_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/image_manager.py -o build -i " \ + + image_mgr.repository + " -t " + image_mgr.tag \ + + " -d " + image_vendor_dir + " -f " + framework + timeout = 1200 + RUN_LOGGER.debug("Run cmd in the cluster to prepare docker image: " + + prepare_image_cmd + " timeout=" + str(timeout)) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_image_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't pull image: " + + ",".join(bad_hosts.keys())) + return False + return True + + +def prepare_running_env(dp_path, container_name, case_config): + '''Install extensions and setup env before start task in container. + ''' + nnodes = case_config["nnodes"] + model = case_config["model"] + framework = case_config["framework"] + prepare_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runcmdin -c " \ + + container_name + " -t 1800 -r \"python3 " \ + + tc.FLAGPERF_PATH + "/" \ + + "/run_benchmarks/prepare_in_container.py --framework " \ + + framework + " --model " + model + " --vendor " \ + + tc.VENDOR + " --pipsource " + tc.PIP_SOURCE + "\"" + timeout = 1800 + RUN_LOGGER.debug( + "Run cmd in the cluster to prepare running environment: " + + prepare_cmd + " timeout=" + str(timeout)) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't prepare running environment " + + "properly: " + ",".join(bad_hosts.keys())) + return False + return True + + +def start_container_in_cluster(dp_path, run_args, container_name, image_name, + nnodes): + '''Call CLUSTER_MGR tool to start containers.''' + start_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runnew " \ + + " -c " + container_name + " -i " + image_name + " -a \"" \ + + run_args + "\"" + RUN_LOGGER.debug("Run cmd in the cluster to start container: " + start_cmd) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(start_cmd, nnodes, 600) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't start docker container: " + + ",".join(bad_hosts.keys())) + return False + return True + + +def stop_container_in_cluster(dp_path, container_name, nnodes): + '''Call CLUSTER_MGR tool to stop containers.''' + stop_cont_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o stop" \ + + " -c " + container_name + RUN_LOGGER.debug("Run cmd to stop container(s) in the cluster:" + + stop_cont_cmd) + failed_hosts = CLUSTER_MGR.run_command_some_hosts(stop_cont_cmd, nnodes, + 60) + if len(failed_hosts) != 0: + RUN_LOGGER.warning("Hosts that stop container " + container_name + + " failed:" + ",".join(failed_hosts.keys()) + + " Continue.") + return False + RUN_LOGGER.info("All containers stoped in the cluster") + return True + + +def clear_caches_cluster(clear, nnodes): + '''Set vm.drop to clean the system caches.''' + if not clear: + RUN_LOGGER.info("Caches clear config is NOT set.") + return + + clear_cmd = "sync && sudo /sbin/sysctl vm.drop_caches=3" + timeout = 30 + RUN_LOGGER.debug("Run cmd in the cluster to clear the system cache: " + + clear_cmd + " timeout=" + str(timeout)) + failed_hosts = CLUSTER_MGR.run_command_some_hosts(clear_cmd, nnodes, + timeout) + if len(failed_hosts) != 0: + RUN_LOGGER.warning("Hosts that clear cache failed: " + + ",".join(failed_hosts.keys()) + ". Continue.") + RUN_LOGGER.info("Clear system caches if it set......[SUCCESS]") + + +def start_monitors_in_cluster(dp_path, case_log_dir, nnodes): + '''Start sytem and vendor's monitors.''' + start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/sys_monitor.py -o restart -l " + timeout = 60 + RUN_LOGGER.debug("Run cmd in the cluster to start system monitors: " + + start_mon_cmd) + bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, + case_log_dir, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't start system monitors: " + + ",".join(bad_hosts.keys())) + + ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") + start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " " + ven_mon_path + " -o restart -l " + RUN_LOGGER.debug("Run cmd in the cluster to start vendor's monitors: " + + start_mon_cmd) + bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, + case_log_dir, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't start vendor's monitors: " + + ",".join(bad_hosts.keys())) + + +def stop_monitors_in_cluster(dp_path, nnodes): + '''Stop sytem and vendor's monitors.''' + stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/sys_monitor.py -o stop" + timeout = 60 + RUN_LOGGER.debug("Run cmd in the cluster to stop system monitors: " + + stop_mon_cmd) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't stop system monitors: " + + ",".join(bad_hosts.keys())) + + ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") + stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ + + " " + ven_mon_path + " -o stop" + RUN_LOGGER.debug("Run cmd in the cluster to stop vendor's monitors: " + + stop_mon_cmd) + bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, + timeout) + if len(bad_hosts) != 0: + RUN_LOGGER.error("Hosts that can't stop vendor's monitors: " + + ",".join(bad_hosts.keys())) + + +def start_tasks_in_cluster(dp_path, container_name, case_config, base_args, + count, curr_log_path): + '''Start tasks in cluster, and NOT wait.''' + nnodes = case_config["nnodes"] + framework_sub_path = case_config["framework"] + if "_" in framework_sub_path: + framework_sub_path = framework_sub_path.split("_")[0] + env_file = os.path.join( + tc.FLAGPERF_PATH, tc.VENDOR, + case_config["model"] + "-" + framework_sub_path, + "config/environment_variables.sh") + framework = case_config["framework"].split("_")[0] + if (os.path.isfile(env_file)): + start_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runcmdin -c " \ + + container_name + " -d -r \"source " + env_file \ + + " > " + curr_log_path + "/source_env.log.txt " \ + + "2>&1 && " \ + + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ + + framework + "/start_" + framework + "_task.py " \ + + base_args + " --round " + str(count) + else: + start_cmd = "cd " + dp_path + " && " + sys.executable \ + + " utils/container_manager.py -o runcmdin -c " \ + + container_name + " -d -r \"" \ + + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ + + framework + "/start_" + framework + "_task.py " \ + + base_args + " --round " + str(count) + if tc.ACCE_VISIBLE_DEVICE_ENV_NAME is not None: + start_cmd += " --visible_dev_env " \ + + tc.ACCE_VISIBLE_DEVICE_ENV_NAME + start_cmd += " \"" + RUN_LOGGER.debug("Run cmd in the cluster to start tasks, cmd=" + start_cmd) + CLUSTER_MGR.run_command_some_hosts_distribution_info(start_cmd, nnodes, 15) + # Wait a moment for starting tasks. + time.sleep(60) + + +def wait_for_finish(dp_path, container_name, pid_file_path, nnodes): + '''wait all the processes of start_xxx_task.py finished. + ''' + # Aussme pid of start_xxx_task.py won't loop in a short time. + check_cmd = "cd " + dp_path + "; " + sys.executable \ + + " utils/container_manager.py -o pidrunning -c " \ + + container_name + " -f " + pid_file_path + + RUN_LOGGER.debug( + "Run cmd to check whether the training tasks is running: " + check_cmd) + while True: + bad_hosts = CLUSTER_MGR.run_command_some_hosts(check_cmd, + nnodes, + no_log=True) + if len(bad_hosts) == nnodes: + break + time.sleep(10) + + +def prepare_containers_env_cluster(dp_path, case_log_dir, container_name, + image_name, case_config): + '''Prepare containers environments in the cluster. It will start + containers, setup environments, start monitors, and clear caches.''' + nnodes = case_config["nnodes"] + container_start_args = " --rm --init --detach --net=host --uts=host" \ + + " --ipc=host --security-opt=seccomp=unconfined" \ + + " --privileged=true --ulimit=stack=67108864" \ + + " --ulimit=memlock=-1" \ + + " -w " + tc.FLAGPERF_PATH \ + + " --shm-size=" + tc.SHM_SIZE \ + + " -v " + dp_path + ":" \ + + tc.FLAGPERF_PATH \ + + " -v " + case_config["data_dir_host"] + ":" \ + + case_config["data_dir_container"] + if tc.ACCE_CONTAINER_OPT is not None: + container_start_args += " " + tc.ACCE_CONTAINER_OPT + + RUN_LOGGER.info("a) Stop old container(s) first.") + stop_container_in_cluster(dp_path, container_name, nnodes) + RUN_LOGGER.info("b) Start container(s) in the cluster.") + if not start_container_in_cluster(dp_path, container_start_args, + container_name, image_name, nnodes): + RUN_LOGGER.error("b) Start container in the cluster......" + "[FAILED]. Ignore this round.") + return False + RUN_LOGGER.info("b) Start container(s) in the cluster.......[SUCCESS]") + + RUN_LOGGER.info("c) Prepare running environment.") + if not prepare_running_env(dp_path, container_name, case_config): + RUN_LOGGER.error("c) Prepare running environment......" + "[FAILED]. Ignore this round.") + RUN_LOGGER.info("Stop containers in cluster.") + stop_container_in_cluster(dp_path, container_name, nnodes) + return False + RUN_LOGGER.info("c) Prepare running environment......[SUCCESS]") + RUN_LOGGER.info("d) Start monitors......") + start_monitors_in_cluster(dp_path, case_log_dir, nnodes) + RUN_LOGGER.info("e) Clear system caches if it set......") + clear_caches_cluster(tc.CLEAR_CACHES, nnodes) + return True + + +def clean_containers_env_cluster(dp_path, container_name, nnodes): + '''Clean containers environments in the cluster. It will stop containers, + and stop monitors.''' + RUN_LOGGER.info("a) Stop containers......") + stop_container_in_cluster(dp_path, container_name, nnodes) + RUN_LOGGER.info("b) Stop monitors......") + stop_monitors_in_cluster(dp_path, nnodes) + + +def collect_and_merge_logs(curr_log_path, cases): + '''Scp logs from hosts in the cluster to temp dir, and then merge all. + ''' + get_all = True + RUN_LOGGER.info("Collect logs in cluster.") + for case in cases: + rets, case_config = get_config_from_case(case) + repeat = case_config["repeat"] + for i in range(1, repeat + 1): + case_log_dir = os.path.join(curr_log_path, case, "round" + str(i)) + RUN_LOGGER.debug("Case " + case + ", round " + str(i) + + ", log dir: " + case_log_dir) + nnodes = case_config["nnodes"] + failed_hosts = CLUSTER_MGR.collect_files_some_hosts(curr_log_path, + curr_log_path, + nnodes, + timeout=600) + if len(failed_hosts) != 0: + RUN_LOGGER.error("Case " + case + ", round " + str(i) + + ", log dir: " + case_log_dir + + " collect log failed on hosts: " + + ",".join(failed_hosts)) + get_all = False + else: + RUN_LOGGER.info("Case " + case + ", round " + str(i) + + ", get all logs in dir: " + case_log_dir) + + if get_all: + RUN_LOGGER.info("Congrats! See all logs in " + curr_log_path) + else: + RUN_LOGGER.warning("Sorry! Not all logs have been collected in " + + curr_log_path) + + +def get_config_from_case(case): + '''check case is string''' + if not isinstance(case, str): + RUN_LOGGER.error("Key in test_config.CASES must be str") + return False, None + + case_info = case.split(":") + '''check if 4+ : in case, we don't care what to put in''' + if len(case_info) < 6: + RUN_LOGGER.error( + "At least 6 terms split by \":\" should in test_config.CASES") + RUN_LOGGER.error("model:framework:hardware_model:nnodes:nproc:repeat") + return False, None + + case_model = case_info[0] + case_framework = case_info[1] + case_hardware = case_info[2] + case_nnodes = case_info[3] + case_nproc = case_info[4] + case_repeat = case_info[5] + + case_config = {"model": case_model} + case_config["framework"] = case_framework + case_config[ + "config"] = "config_" + case_hardware + "x" + case_nnodes + "x" + case_nproc + case_config["repeat"] = int(case_repeat) + case_config["nnodes"] = int(case_nnodes) + case_config["nproc"] = int(case_nproc) + case_config["data_dir_host"] = tc.CASES[case] + case_config["data_dir_container"] = tc.CASES[case] + return True, case_config + + +def get_valid_cases(): + '''Check case config in test_conf, return valid cases list.''' + if not isinstance(tc.CASES, dict): + RUN_LOGGER.error( + "No valid cases found in test_conf because test_config.CASES is not a dict...[EXIT]" + ) + sys.exit(4) + RUN_LOGGER.debug("Check configs of all test cases: " + ",".join(tc.CASES)) + valid_cases = [] + cases_config_error = [] + for case in tc.CASES: + rets, case_config = get_config_from_case(case) + if (not rets) or (not check_case_config(case, case_config, tc.VENDOR)): + cases_config_error.append(case) + continue + valid_cases.append(case) + if len(valid_cases) == 0: + RUN_LOGGER.error("No valid cases found in test_conf...[EXIT]") + sys.exit(4) + RUN_LOGGER.debug("Valid cases: " + ",".join(valid_cases)) + RUN_LOGGER.debug("Invalid cases that config is error: " + + ",".join(cases_config_error)) + RUN_LOGGER.info("Get valid cases list......[SUCCESS]") + return valid_cases + + +def print_welcome_msg(): + '''Print colorful welcome message to console.''' + print("\033[1;34;40m==============================================\033[0m") + print("\033[1;36;40m Welcome to FlagPerf!\033[0m") + print( + "\033[1;36;40m See more at https://github.com/FlagOpen/FlagPerf \033[0m" + ) + print("\033[1;34;40m==============================================\033[0m") + + +def prepare_case_config_cluster(dp_path, case_config, case): + '''Sync case config files in cluster.''' + RUN_LOGGER.info("--------------------------------------------------") + RUN_LOGGER.info("Testcase " + case + " config:") + for config_item in case_config.keys(): + RUN_LOGGER.info(config_item + ":\t" + str(case_config[config_item])) + RUN_LOGGER.info("--------------------------------------------------") + model = case_config["model"] + framework = case_config["framework"].split("_")[0] + config_file = case_config["config"] + ".py" + nnodes = case_config["nnodes"] + case_config_dir = os.path.join(dp_path, tc.VENDOR, model + "-" + framework, + "config") + case_config_file = os.path.join(case_config_dir, config_file) + failed_hosts = CLUSTER_MGR.sync_file_to_some_hosts(case_config_file, + case_config_dir, nnodes) + if len(failed_hosts) != 0: + RUN_LOGGER.error("Hosts that sync vendor case config file failed: " + + ",".join(failed_hosts.keys())) + return False + return True + + +def log_test_configs(cases, curr_log_path, dp_path): + '''Put test configs to log ''' + RUN_LOGGER.info("--------------------------------------------------") + RUN_LOGGER.info("Prepare to run flagperf benchmakrs with configs: ") + RUN_LOGGER.info("Deploy path on host:\t" + dp_path) + RUN_LOGGER.info("Vendor:\t\t" + tc.VENDOR) + RUN_LOGGER.info("Testcases:\t\t[" + ','.join(cases) + "]") + RUN_LOGGER.info("Log path on host:\t" + curr_log_path) + RUN_LOGGER.info("Cluster:\t\t[" + ",".join(cc.HOSTS) + "]") + RUN_LOGGER.info("--------------------------------------------------") + + +def main(): + '''Main process to run all the testcases''' + + print_welcome_msg() + + # Set logger first + timestamp_log_dir = "run" + time.strftime("%Y%m%d%H%M%S", time.localtime()) + curr_log_path = os.path.join(tc.FLAGPERF_LOG_PATH, timestamp_log_dir) + RUN_LOGGER.init(curr_log_path, + "flagperf_run.log", + tc.FLAGPERF_LOG_LEVEL, + "both", + log_caller=True) + + RUN_LOGGER.info("======== Step 1: Check environment and configs. ========") + RUN_LOGGER.info("Initialize logger with log path: " + curr_log_path + + "......[SUCCESS]") + + # Check test environment and configs of testcases. + CLUSTER_MGR.init(cc.HOSTS, + cc.SSH_PORT, + getpass.getuser(), + logger=RUN_LOGGER) + check_cluster_health() + dp_path = _get_deploy_path() + check_cluster_deploy_path(dp_path) + check_testconf() + cases = get_valid_cases() + log_test_configs(cases, curr_log_path, dp_path) + + RUN_LOGGER.info("========= Step 2: Prepare and Run test cases. =========") + + for case in cases: + RUN_LOGGER.info("======= Testcase: " + case + " =======") + rets, case_config = get_config_from_case(case) + + # Prepare docker image. + image_mgr = image_manager.ImageManager( + "flagperf-" + tc.VENDOR + "-" + case_config["framework"], + "t_" + VERSION) + image_name = image_mgr.repository + ":" + image_mgr.tag + nnodes = case_config["nnodes"] + RUN_LOGGER.info("=== 2.1 Prepare docker image:" + image_name + " ===") + if not prepare_docker_image_cluster(dp_path, image_mgr, + case_config["framework"], nnodes): + RUN_LOGGER.error("=== 2.1 Prepare docker image...[FAILED] " + + "Ignore this case " + case + " ===") + continue + + # Set command to start docker container in the cluster + container_name = image_mgr.repository + "-" + image_mgr.tag \ + + "-container" + + # Set command to start train script in container in the cluster + log_dir_container = os.path.join(tc.FLAGPERF_LOG_PATH, + timestamp_log_dir) + base_args = " --vendor " + tc.VENDOR + " --case_name " + case \ + + " --model_name " + case_config["model"] \ + + " --train_script " + "run_pretraining.py" \ + + " --nnodes " + str(nnodes) \ + + " --nproc " + str(case_config["nproc"]) \ + + " --hosts " + ",".join(cc.HOSTS) \ + + " --hosts_ports " + ",".join(cc.HOSTS_PORTS) \ + + " --data_dir " + case_config["data_dir_container"] \ + + " --log_dir " + log_dir_container \ + + " --log_level " + tc.FLAGPERF_LOG_LEVEL \ + + " --extern_config_file " + case_config["config"] \ + + ".py" + " --enable_extern_config " \ + + " --master_port " + cc.MASTER_PORT + RUN_LOGGER.info("=== 2.2 Prepare case config in cluster. ===") + if not prepare_case_config_cluster(dp_path, case_config, case): + RUN_LOGGER.warning("Prepare case config in cluster...[FAILED]. " + + "Ignore case " + case) + continue + RUN_LOGGER.info("=== 2.3 Setup container and run testcases. ===") + for count in range(1, case_config["repeat"] + 1): + RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + + " starts ==-") + RUN_LOGGER.info("1) Prepare container environments in cluster...") + case_log_dir = os.path.join(curr_log_path, case, + "round" + str(count)) + if not prepare_containers_env_cluster(dp_path, case_log_dir, + container_name, image_name, + case_config): + RUN_LOGGER.error("1) Prepare container environments in cluster" + "...[FAILED]. Ignore case " + case + + " round " + str(count)) + continue + RUN_LOGGER.info("2) Start tasks in the cluster...") + start_tasks_in_cluster(dp_path, container_name, case_config, + base_args, count, curr_log_path) + + # Wait until start_xxx_task.py finished. + RUN_LOGGER.info("3) Waiting for tasks end in the cluster...") + pid_file_path = os.path.join( + log_dir_container, "start_" + + case_config["framework"].split("_")[0] + "_task.pid") + wait_for_finish(dp_path, container_name, pid_file_path, nnodes) + RUN_LOGGER.info("3) Training tasks end in the cluster...") + RUN_LOGGER.info("4) Clean container environments in cluster...") + clean_containers_env_cluster(dp_path, container_name, nnodes) + RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + + " finished ==-") + RUN_LOGGER.info("=== 2.3 Setup container and run testcases finished." + " ===") + RUN_LOGGER.info("========= Step 3: Collect logs in the cluster. =========") + collect_and_merge_logs(curr_log_path, cases) + + +if __name__ == '__main__': + if len(sys.argv) > 1: + usage() + main() + RUN_LOGGER.stop() diff --git a/training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh b/training/metax/faster_rcnn-pytorch/environment_variables.sh similarity index 100% rename from training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh rename to training/metax/faster_rcnn-pytorch/environment_variables.sh diff --git a/training/kunlunxin/faster_rcnn-pytorch/requirements.txt b/training/metax/faster_rcnn-pytorch/requirements.txt similarity index 100% rename from training/kunlunxin/faster_rcnn-pytorch/requirements.txt rename to training/metax/faster_rcnn-pytorch/requirements.txt From d3e73f6522ae10cc679d053ef0acf1405279736f Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 18:28:22 +0800 Subject: [PATCH 25/34] fix bug --- .../run_benchmarks/run_20240125181129.py | 647 ------------------ .../run_benchmarks/run_20240125181222.py | 647 ------------------ 2 files changed, 1294 deletions(-) delete mode 100644 .history/training/run_benchmarks/run_20240125181129.py delete mode 100644 .history/training/run_benchmarks/run_20240125181222.py diff --git a/.history/training/run_benchmarks/run_20240125181129.py b/.history/training/run_benchmarks/run_20240125181129.py deleted file mode 100644 index a846ce2b1..000000000 --- a/.history/training/run_benchmarks/run_20240125181129.py +++ /dev/null @@ -1,647 +0,0 @@ -# Copyright (c) 2022 BAAI. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License") -#!/usr/bin/env python3 -# -*- coding: UTF-8 -*- -''' TODO Copyright and Other info ''' - -import os -import sys -import time -import getpass -from config import cluster_conf as cc -from config import test_conf as tc - -CURR_PATH = os.path.abspath(os.path.dirname(__file__)) -sys.path.append(os.path.abspath(os.path.join(CURR_PATH, "../"))) -from utils import cluster_manager -from utils import flagperf_logger -from utils import image_manager - -VERSION = "v0.1" -RUN_LOGGER = flagperf_logger.FlagPerfLogger() -CLUSTER_MGR = cluster_manager.ClusterManager() - - -def usage(): - ''' Show usage and exit with exit_code. ''' - print("Usage: python3 ", __file__) - print("Edit config file test_conf.py & cluster_conf.py in " - "training/run_benchmarks/config and run.") - sys.exit(0) - - -def check_cluster_health(): - ''' Try to ssh login to all the hosts in cluster_conf.hosts. - Return None if everything goes well. - ''' - RUN_LOGGER.debug("Cluster healthcheck ssh. Hosts are: " + - ",".join(CLUSTER_MGR.get_hosts_list())) - bad_hosts = CLUSTER_MGR.healthcheck() - if len(bad_hosts) != 0: - for bad_host in bad_hosts: - RUN_LOGGER.error("Check " + bad_host + " failed. ssh command exit " - "with: " + str(bad_hosts[bad_host])) - RUN_LOGGER.error("Check hosts in the cluster......[FAILED] [EXIT]") - sys.exit(3) - RUN_LOGGER.info("Check hosts in the cluster......[SUCCESS]") - - -def _get_deploy_path(): - '''Return deploy path according to FLAGPERF_LOG_PATH_HOST in test_conf.''' - if 'FLAGPERF_PATH' not in tc.__dict__.keys() \ - or tc.FLAGPERF_PATH is None: - dp_path = os.path.abspath(os.path.join(CURR_PATH, "../../training/")) - else: - dp_path = os.path.abspath(tc.FLAGPERF_PATH) - return dp_path - - -def check_cluster_deploy_path(dp_path): - '''Make sure that flagperf is deployed on all the hosts - ''' - RUN_LOGGER.debug("Check flagperf deployment path: " + dp_path) - bad_hosts = CLUSTER_MGR.run_command_all_hosts("cd " + dp_path) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't find deployed path: " + - ",".join(bad_hosts.keys())) - RUN_LOGGER.error("Check cluster deploy path " + dp_path + - "......[FAILED] [EXIT]") - sys.exit(3) - RUN_LOGGER.info("Check flagperf deployment path: " + dp_path + - "...[SUCCESS]") - - -def check_testconf(): - ''' Check test config. - Make sure all CASES are configed. - ''' - RUN_LOGGER.debug("Check test config: VENDOR") - if 'VENDOR' not in tc.__dict__.keys(): - RUN_LOGGER.error("VENDOR MUST be set in test_conf...[EXIT]") - sys.exit(2) - RUN_LOGGER.info("Check test config: VENDOR......[SUCCESS]") - - -def check_case_config(case, case_config, vendor): - '''Check config of the testcase. Make sure its path exists, framework is - right and config file exists. - ''' - RUN_LOGGER.debug("Check config of test case: " + case) - must_configs = [ - "model", "framework", "nnodes", "nproc", "config", "repeat", - "data_dir_host", "data_dir_container" - ] - for config_item in case_config.keys(): - if config_item in must_configs: - must_configs.remove(config_item) - if len(must_configs) > 0: - RUN_LOGGER.warning("Case " + case + " misses some config items: " + - ",".join(must_configs)) - return False - - framework = case_config["framework"].split("_")[0] - model_path = CURR_PATH + "/../benchmarks/" + case_config["model"] + \ - "/" + framework - model_path = os.path.abspath(model_path) - if not os.path.exists(model_path): - RUN_LOGGER.warning("Case " + case + ": deploy path doesn't exist: " + - model_path) - return False - - config_path = CURR_PATH + "/../" + vendor + "/" + case_config["model"] + \ - "-" + framework + "/config/" + \ - case_config["config"] + ".py" - if not os.path.isfile(config_path): - RUN_LOGGER.warning("Case " + case + ": config file doesn't exist: " + - config_path) - return False - nnodes = case_config["nnodes"] - cluster_host_counts = CLUSTER_MGR.get_hosts_count() - # TODO Check nprocs < 8? - if nnodes > cluster_host_counts: - RUN_LOGGER.error("This case seems need more hosts than cluster has. " + - "The count of need hosts is " + str(nnodes) + - ", but cluster has " + str(cluster_host_counts)) - return False - - RUN_LOGGER.debug("Check config of test case: " + case + " ...[SUCCESS]") - return True - - -def prepare_docker_image_cluster(dp_path, image_mgr, framework, nnodes): - '''Prepare docker image in registry and in the cluster. - ''' - vendor = tc.VENDOR - image_vendor_dir = os.path.join( - CURR_PATH, "../" + vendor + "/docker_image/" + framework) - image_name = image_mgr.repository + ":" + image_mgr.tag - RUN_LOGGER.debug("Prepare docker image in cluster. image_name=" + - image_name + " image_vendor_dir=" + image_vendor_dir) - prepare_image_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/image_manager.py -o build -i " \ - + image_mgr.repository + " -t " + image_mgr.tag \ - + " -d " + image_vendor_dir + " -f " + framework - timeout = 1200 - RUN_LOGGER.debug("Run cmd in the cluster to prepare docker image: " + - prepare_image_cmd + " timeout=" + str(timeout)) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_image_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't pull image: " + - ",".join(bad_hosts.keys())) - return False - return True - - -def prepare_running_env(dp_path, container_name, case_config): - '''Install extensions and setup env before start task in container. - ''' - nnodes = case_config["nnodes"] - model = case_config["model"] - framework = case_config["framework"] - prepare_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runcmdin -c " \ - + container_name + " -t 1800 -r \"python3 " \ - + tc.FLAGPERF_PATH + "/" \ - + "/run_benchmarks/prepare_in_container.py --framework " \ - + framework + " --model " + model + " --vendor " \ - + tc.VENDOR + " --pipsource " + tc.PIP_SOURCE + "\"" - timeout = 1800 - RUN_LOGGER.debug( - "Run cmd in the cluster to prepare running environment: " + - prepare_cmd + " timeout=" + str(timeout)) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't prepare running environment " + - "properly: " + ",".join(bad_hosts.keys())) - return False - return True - - -def start_container_in_cluster(dp_path, run_args, container_name, image_name, - nnodes): - '''Call CLUSTER_MGR tool to start containers.''' - start_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runnew " \ - + " -c " + container_name + " -i " + image_name + " -a \"" \ - + run_args + "\"" - RUN_LOGGER.debug("Run cmd in the cluster to start container: " + start_cmd) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(start_cmd, nnodes, 600) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't start docker container: " + - ",".join(bad_hosts.keys())) - return False - return True - - -def stop_container_in_cluster(dp_path, container_name, nnodes): - '''Call CLUSTER_MGR tool to stop containers.''' - stop_cont_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o stop" \ - + " -c " + container_name - RUN_LOGGER.debug("Run cmd to stop container(s) in the cluster:" + - stop_cont_cmd) - failed_hosts = CLUSTER_MGR.run_command_some_hosts(stop_cont_cmd, nnodes, - 60) - if len(failed_hosts) != 0: - RUN_LOGGER.warning("Hosts that stop container " + container_name + - " failed:" + ",".join(failed_hosts.keys()) + - " Continue.") - return False - RUN_LOGGER.info("All containers stoped in the cluster") - return True - - -def clear_caches_cluster(clear, nnodes): - '''Set vm.drop to clean the system caches.''' - if not clear: - RUN_LOGGER.info("Caches clear config is NOT set.") - return - - clear_cmd = "sync && sudo /sbin/sysctl vm.drop_caches=3" - timeout = 30 - RUN_LOGGER.debug("Run cmd in the cluster to clear the system cache: " + - clear_cmd + " timeout=" + str(timeout)) - failed_hosts = CLUSTER_MGR.run_command_some_hosts(clear_cmd, nnodes, - timeout) - if len(failed_hosts) != 0: - RUN_LOGGER.warning("Hosts that clear cache failed: " + - ",".join(failed_hosts.keys()) + ". Continue.") - RUN_LOGGER.info("Clear system caches if it set......[SUCCESS]") - - -def start_monitors_in_cluster(dp_path, case_log_dir, nnodes): - '''Start sytem and vendor's monitors.''' - start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/sys_monitor.py -o restart -l " - timeout = 60 - RUN_LOGGER.debug("Run cmd in the cluster to start system monitors: " + - start_mon_cmd) - bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, - case_log_dir, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't start system monitors: " + - ",".join(bad_hosts.keys())) - - ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") - start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " " + ven_mon_path + " -o restart -l " - RUN_LOGGER.debug("Run cmd in the cluster to start vendor's monitors: " + - start_mon_cmd) - bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, - case_log_dir, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't start vendor's monitors: " + - ",".join(bad_hosts.keys())) - - -def stop_monitors_in_cluster(dp_path, nnodes): - '''Stop sytem and vendor's monitors.''' - stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/sys_monitor.py -o stop" - timeout = 60 - RUN_LOGGER.debug("Run cmd in the cluster to stop system monitors: " + - stop_mon_cmd) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't stop system monitors: " + - ",".join(bad_hosts.keys())) - - ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") - stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " " + ven_mon_path + " -o stop" - RUN_LOGGER.debug("Run cmd in the cluster to stop vendor's monitors: " + - stop_mon_cmd) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't stop vendor's monitors: " + - ",".join(bad_hosts.keys())) - - -def start_tasks_in_cluster(dp_path, container_name, case_config, base_args, - count, curr_log_path): - '''Start tasks in cluster, and NOT wait.''' - nnodes = case_config["nnodes"] - framework_sub_path = case_config["framework"] - if "_" in framework_sub_path: - framework_sub_path = framework_sub_path.split("_")[0] - env_file = os.path.join( - tc.FLAGPERF_PATH, tc.VENDOR, - case_config["model"] + "-" + framework_sub_path, - "config/environment_variables.sh") - framework = case_config["framework"].split("_")[0] - if (os.path.isfile(env_file)): - start_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runcmdin -c " \ - + container_name + " -d -r \"source " + env_file \ - + " > " + curr_log_path + "/source_env.log.txt " \ - + "2>&1 && " \ - + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ - + framework + "/start_" + framework + "_task.py " \ - + base_args + " --round " + str(count) - else: - start_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runcmdin -c " \ - + container_name + " -d -r \"" \ - + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ - + framework + "/start_" + framework + "_task.py " \ - + base_args + " --round " + str(count) - if tc.ACCE_VISIBLE_DEVICE_ENV_NAME is not None: - start_cmd += " --visible_dev_env " \ - + tc.ACCE_VISIBLE_DEVICE_ENV_NAME - start_cmd += " \"" - RUN_LOGGER.debug("Run cmd in the cluster to start tasks, cmd=" + start_cmd) - CLUSTER_MGR.run_command_some_hosts_distribution_info(start_cmd, nnodes, 15) - # Wait a moment for starting tasks. - time.sleep(60) - - -def wait_for_finish(dp_path, container_name, pid_file_path, nnodes): - '''wait all the processes of start_xxx_task.py finished. - ''' - # Aussme pid of start_xxx_task.py won't loop in a short time. - check_cmd = "cd " + dp_path + "; " + sys.executable \ - + " utils/container_manager.py -o pidrunning -c " \ - + container_name + " -f " + pid_file_path - - RUN_LOGGER.debug( - "Run cmd to check whether the training tasks is running: " + check_cmd) - while True: - bad_hosts = CLUSTER_MGR.run_command_some_hosts(check_cmd, - nnodes, - no_log=True) - if len(bad_hosts) == nnodes: - break - time.sleep(10) - - -def prepare_containers_env_cluster(dp_path, case_log_dir, container_name, - image_name, case_config): - '''Prepare containers environments in the cluster. It will start - containers, setup environments, start monitors, and clear caches.''' - nnodes = case_config["nnodes"] - container_start_args = " --rm --init --detach --net=host --uts=host" \ - + " --ipc=host --security-opt=seccomp=unconfined" \ - + " --privileged=true --ulimit=stack=67108864" \ - + " --ulimit=memlock=-1" \ - + " -w " + tc.FLAGPERF_PATH \ - + " --shm-size=" + tc.SHM_SIZE \ - + " -v " + dp_path + ":" \ - + tc.FLAGPERF_PATH \ - + " -v " + case_config["data_dir_host"] + ":" \ - + case_config["data_dir_container"] - if tc.ACCE_CONTAINER_OPT is not None: - container_start_args += " " + tc.ACCE_CONTAINER_OPT - - RUN_LOGGER.info("a) Stop old container(s) first.") - stop_container_in_cluster(dp_path, container_name, nnodes) - RUN_LOGGER.info("b) Start container(s) in the cluster.") - if not start_container_in_cluster(dp_path, container_start_args, - container_name, image_name, nnodes): - RUN_LOGGER.error("b) Start container in the cluster......" - "[FAILED]. Ignore this round.") - return False - RUN_LOGGER.info("b) Start container(s) in the cluster.......[SUCCESS]") - - RUN_LOGGER.info("c) Prepare running environment.") - if not prepare_running_env(dp_path, container_name, case_config): - RUN_LOGGER.error("c) Prepare running environment......" - "[FAILED]. Ignore this round.") - RUN_LOGGER.info("Stop containers in cluster.") - stop_container_in_cluster(dp_path, container_name, nnodes) - return False - RUN_LOGGER.info("c) Prepare running environment......[SUCCESS]") - RUN_LOGGER.info("d) Start monitors......") - start_monitors_in_cluster(dp_path, case_log_dir, nnodes) - RUN_LOGGER.info("e) Clear system caches if it set......") - clear_caches_cluster(tc.CLEAR_CACHES, nnodes) - return True - - -def clean_containers_env_cluster(dp_path, container_name, nnodes): - '''Clean containers environments in the cluster. It will stop containers, - and stop monitors.''' - RUN_LOGGER.info("a) Stop containers......") - stop_container_in_cluster(dp_path, container_name, nnodes) - RUN_LOGGER.info("b) Stop monitors......") - stop_monitors_in_cluster(dp_path, nnodes) - - -def collect_and_merge_logs(curr_log_path, cases): - '''Scp logs from hosts in the cluster to temp dir, and then merge all. - ''' - get_all = True - RUN_LOGGER.info("Collect logs in cluster.") - for case in cases: - rets, case_config = get_config_from_case(case) - repeat = case_config["repeat"] - for i in range(1, repeat + 1): - case_log_dir = os.path.join(curr_log_path, case, "round" + str(i)) - RUN_LOGGER.debug("Case " + case + ", round " + str(i) + - ", log dir: " + case_log_dir) - nnodes = case_config["nnodes"] - failed_hosts = CLUSTER_MGR.collect_files_some_hosts(curr_log_path, - curr_log_path, - nnodes, - timeout=600) - if len(failed_hosts) != 0: - RUN_LOGGER.error("Case " + case + ", round " + str(i) + - ", log dir: " + case_log_dir + - " collect log failed on hosts: " + - ",".join(failed_hosts)) - get_all = False - else: - RUN_LOGGER.info("Case " + case + ", round " + str(i) + - ", get all logs in dir: " + case_log_dir) - - if get_all: - RUN_LOGGER.info("Congrats! See all logs in " + curr_log_path) - else: - RUN_LOGGER.warning("Sorry! Not all logs have been collected in " + - curr_log_path) - - -def get_config_from_case(case): - '''check case is string''' - if not isinstance(case, str): - RUN_LOGGER.error("Key in test_config.CASES must be str") - return False, None - - case_info = case.split(":") - '''check if 4+ : in case, we don't care what to put in''' - if len(case_info) < 6: - RUN_LOGGER.error( - "At least 6 terms split by \":\" should in test_config.CASES") - RUN_LOGGER.error("model:framework:hardware_model:nnodes:nproc:repeat") - return False, None - - case_model = case_info[0] - case_framework = case_info[1] - case_hardware = case_info[2] - case_nnodes = case_info[3] - case_nproc = case_info[4] - case_repeat = case_info[5] - - case_config = {"model": case_model} - case_config["framework"] = case_framework - case_config[ - "config"] = "config_" + case_hardware + "x" + case_nnodes + "x" + case_nproc - case_config["repeat"] = int(case_repeat) - case_config["nnodes"] = int(case_nnodes) - case_config["nproc"] = int(case_nproc) - case_config["data_dir_host"] = tc.CASES[case] - case_config["data_dir_container"] = tc.CASES[case] - return True, case_config - - -def get_valid_cases(): - '''Check case config in test_conf, return valid cases list.''' - if not isinstance(tc.CASES, dict): - RUN_LOGGER.error( - "No valid cases found in test_conf because test_config.CASES is not a dict...[EXIT]" - ) - sys.exit(4) - RUN_LOGGER.debug("Check configs of all test cases: " + ",".join(tc.CASES)) - valid_cases = [] - cases_config_error = [] - for case in tc.CASES: - rets, case_config = get_config_from_case(case) - if (not rets) or (not check_case_config(case, case_config, tc.VENDOR)): - cases_config_error.append(case) - continue - valid_cases.append(case) - if len(valid_cases) == 0: - RUN_LOGGER.error("No valid cases found in test_conf...[EXIT]") - sys.exit(4) - RUN_LOGGER.debug("Valid cases: " + ",".join(valid_cases)) - RUN_LOGGER.debug("Invalid cases that config is error: " + - ",".join(cases_config_error)) - RUN_LOGGER.info("Get valid cases list......[SUCCESS]") - return valid_cases - - -def print_welcome_msg(): - '''Print colorful welcome message to console.''' - print("\033[1;34;40m==============================================\033[0m") - print("\033[1;36;40m Welcome to FlagPerf!\033[0m") - print( - "\033[1;36;40m See more at https://github.com/FlagOpen/FlagPerf \033[0m" - ) - print("\033[1;34;40m==============================================\033[0m") - - -def prepare_case_config_cluster(dp_path, case_config, case): - '''Sync case config files in cluster.''' - RUN_LOGGER.info("--------------------------------------------------") - RUN_LOGGER.info("Testcase " + case + " config:") - for config_item in case_config.keys(): - RUN_LOGGER.info(config_item + ":\t" + str(case_config[config_item])) - RUN_LOGGER.info("--------------------------------------------------") - model = case_config["model"] - framework = case_config["framework"].split("_")[0] - config_file = case_config["config"] + ".py" - nnodes = case_config["nnodes"] - case_config_dir = os.path.join(dp_path, tc.VENDOR, model + "-" + framework, - "config") - case_config_file = os.path.join(case_config_dir, config_file) - failed_hosts = CLUSTER_MGR.sync_file_to_some_hosts(case_config_file, - case_config_dir, nnodes) - if len(failed_hosts) != 0: - RUN_LOGGER.error("Hosts that sync vendor case config file failed: " + - ",".join(failed_hosts.keys())) - return False - return True - - -def log_test_configs(cases, curr_log_path, dp_path): - '''Put test configs to log ''' - RUN_LOGGER.info("--------------------------------------------------") - RUN_LOGGER.info("Prepare to run flagperf benchmakrs with configs: ") - RUN_LOGGER.info("Deploy path on host:\t" + dp_path) - RUN_LOGGER.info("Vendor:\t\t" + tc.VENDOR) - RUN_LOGGER.info("Testcases:\t\t[" + ','.join(cases) + "]") - RUN_LOGGER.info("Log path on host:\t" + curr_log_path) - RUN_LOGGER.info("Cluster:\t\t[" + ",".join(cc.HOSTS) + "]") - RUN_LOGGER.info("--------------------------------------------------") - - -def main(): - '''Main process to run all the testcases''' - - print_welcome_msg() - - # Set logger first - timestamp_log_dir = "run" + time.strftime("%Y%m%d%H%M%S", time.localtime()) - curr_log_path = os.path.join(tc.FLAGPERF_LOG_PATH, timestamp_log_dir) - RUN_LOGGER.init(curr_log_path, - "flagperf_run.log", - tc.FLAGPERF_LOG_LEVEL, - "both", - log_caller=True) - - RUN_LOGGER.info("======== Step 1: Check environment and configs. ========") - RUN_LOGGER.info("Initialize logger with log path: " + curr_log_path + - "......[SUCCESS]") - - # Check test environment and configs of testcases. - CLUSTER_MGR.init(cc.HOSTS, - cc.SSH_PORT, - getpass.getuser(), - logger=RUN_LOGGER) - check_cluster_health() - dp_path = _get_deploy_path() - check_cluster_deploy_path(dp_path) - check_testconf() - cases = get_valid_cases() - log_test_configs(cases, curr_log_path, dp_path) - - RUN_LOGGER.info("========= Step 2: Prepare and Run test cases. =========") - - for case in cases: - RUN_LOGGER.info("======= Testcase: " + case + " =======") - rets, case_config = get_config_from_case(case) - - # Prepare docker image. - image_mgr = image_manager.ImageManager( - "flagperf-" + tc.VENDOR + "-" + case_config["framework"], - "t_" + VERSION) - image_name = image_mgr.repository + ":" + image_mgr.tag - nnodes = case_config["nnodes"] - RUN_LOGGER.info("=== 2.1 Prepare docker image:" + image_name + " ===") - if not prepare_docker_image_cluster(dp_path, image_mgr, - case_config["framework"], nnodes): - RUN_LOGGER.error("=== 2.1 Prepare docker image...[FAILED] " + - "Ignore this case " + case + " ===") - continue - - # Set command to start docker container in the cluster - container_name = image_mgr.repository + "-" + image_mgr.tag \ - + "-container" - - # Set command to start train script in container in the cluster - log_dir_container = os.path.join(tc.FLAGPERF_LOG_PATH, - timestamp_log_dir) - base_args = " --vendor " + tc.VENDOR + " --case_name " + case \ - + " --model_name " + case_config["model"] \ - + " --train_script " + "run_pretraining.py" \ - + " --nnodes " + str(nnodes) \ - + " --nproc " + str(case_config["nproc"]) \ - + " --hosts " + ",".join(cc.HOSTS) \ - + " --hosts_ports " + ",".join(cc.HOSTS_PORTS) \ - + " --data_dir " + case_config["data_dir_container"] \ - + " --log_dir " + log_dir_container \ - + " --log_level " + tc.FLAGPERF_LOG_LEVEL \ - + " --extern_config_file " + case_config["config"] \ - + ".py" + " --enable_extern_config " \ - + " --master_port " + cc.MASTER_PORT - RUN_LOGGER.info("=== 2.2 Prepare case config in cluster. ===") - if not prepare_case_config_cluster(dp_path, case_config, case): - RUN_LOGGER.warning("Prepare case config in cluster...[FAILED]. " + - "Ignore case " + case) - continue - RUN_LOGGER.info("=== 2.3 Setup container and run testcases. ===") - for count in range(1, case_config["repeat"] + 1): - RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + - " starts ==-") - RUN_LOGGER.info("1) Prepare container environments in cluster...") - case_log_dir = os.path.join(curr_log_path, case, - "round" + str(count)) - if not prepare_containers_env_cluster(dp_path, case_log_dir, - container_name, image_name, - case_config): - RUN_LOGGER.error("1) Prepare container environments in cluster" - "...[FAILED]. Ignore case " + case + - " round " + str(count)) - continue - RUN_LOGGER.info("2) Start tasks in the cluster...") - start_tasks_in_cluster(dp_path, container_name, case_config, - base_args, count, curr_log_path) - - # Wait until start_xxx_task.py finished. - RUN_LOGGER.info("3) Waiting for tasks end in the cluster...") - pid_file_path = os.path.join( - log_dir_container, "start_" + - case_config["framework"].split("_")[0] + "_task.pid") - wait_for_finish(dp_path, container_name, pid_file_path, nnodes) - RUN_LOGGER.info("3) Training tasks end in the cluster...") - RUN_LOGGER.info("4) Clean container environments in cluster...") - clean_containers_env_cluster(dp_path, container_name, nnodes) - RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + - " finished ==-") - RUN_LOGGER.info("=== 2.3 Setup container and run testcases finished." - " ===") - RUN_LOGGER.info("========= Step 3: Collect logs in the cluster. =========") - collect_and_merge_logs(curr_log_path, cases) - - -if __name__ == '__main__': - if len(sys.argv) > 1: - usage() - main() - RUN_LOGGER.stop() diff --git a/.history/training/run_benchmarks/run_20240125181222.py b/.history/training/run_benchmarks/run_20240125181222.py deleted file mode 100644 index a846ce2b1..000000000 --- a/.history/training/run_benchmarks/run_20240125181222.py +++ /dev/null @@ -1,647 +0,0 @@ -# Copyright (c) 2022 BAAI. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License") -#!/usr/bin/env python3 -# -*- coding: UTF-8 -*- -''' TODO Copyright and Other info ''' - -import os -import sys -import time -import getpass -from config import cluster_conf as cc -from config import test_conf as tc - -CURR_PATH = os.path.abspath(os.path.dirname(__file__)) -sys.path.append(os.path.abspath(os.path.join(CURR_PATH, "../"))) -from utils import cluster_manager -from utils import flagperf_logger -from utils import image_manager - -VERSION = "v0.1" -RUN_LOGGER = flagperf_logger.FlagPerfLogger() -CLUSTER_MGR = cluster_manager.ClusterManager() - - -def usage(): - ''' Show usage and exit with exit_code. ''' - print("Usage: python3 ", __file__) - print("Edit config file test_conf.py & cluster_conf.py in " - "training/run_benchmarks/config and run.") - sys.exit(0) - - -def check_cluster_health(): - ''' Try to ssh login to all the hosts in cluster_conf.hosts. - Return None if everything goes well. - ''' - RUN_LOGGER.debug("Cluster healthcheck ssh. Hosts are: " + - ",".join(CLUSTER_MGR.get_hosts_list())) - bad_hosts = CLUSTER_MGR.healthcheck() - if len(bad_hosts) != 0: - for bad_host in bad_hosts: - RUN_LOGGER.error("Check " + bad_host + " failed. ssh command exit " - "with: " + str(bad_hosts[bad_host])) - RUN_LOGGER.error("Check hosts in the cluster......[FAILED] [EXIT]") - sys.exit(3) - RUN_LOGGER.info("Check hosts in the cluster......[SUCCESS]") - - -def _get_deploy_path(): - '''Return deploy path according to FLAGPERF_LOG_PATH_HOST in test_conf.''' - if 'FLAGPERF_PATH' not in tc.__dict__.keys() \ - or tc.FLAGPERF_PATH is None: - dp_path = os.path.abspath(os.path.join(CURR_PATH, "../../training/")) - else: - dp_path = os.path.abspath(tc.FLAGPERF_PATH) - return dp_path - - -def check_cluster_deploy_path(dp_path): - '''Make sure that flagperf is deployed on all the hosts - ''' - RUN_LOGGER.debug("Check flagperf deployment path: " + dp_path) - bad_hosts = CLUSTER_MGR.run_command_all_hosts("cd " + dp_path) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't find deployed path: " + - ",".join(bad_hosts.keys())) - RUN_LOGGER.error("Check cluster deploy path " + dp_path + - "......[FAILED] [EXIT]") - sys.exit(3) - RUN_LOGGER.info("Check flagperf deployment path: " + dp_path + - "...[SUCCESS]") - - -def check_testconf(): - ''' Check test config. - Make sure all CASES are configed. - ''' - RUN_LOGGER.debug("Check test config: VENDOR") - if 'VENDOR' not in tc.__dict__.keys(): - RUN_LOGGER.error("VENDOR MUST be set in test_conf...[EXIT]") - sys.exit(2) - RUN_LOGGER.info("Check test config: VENDOR......[SUCCESS]") - - -def check_case_config(case, case_config, vendor): - '''Check config of the testcase. Make sure its path exists, framework is - right and config file exists. - ''' - RUN_LOGGER.debug("Check config of test case: " + case) - must_configs = [ - "model", "framework", "nnodes", "nproc", "config", "repeat", - "data_dir_host", "data_dir_container" - ] - for config_item in case_config.keys(): - if config_item in must_configs: - must_configs.remove(config_item) - if len(must_configs) > 0: - RUN_LOGGER.warning("Case " + case + " misses some config items: " + - ",".join(must_configs)) - return False - - framework = case_config["framework"].split("_")[0] - model_path = CURR_PATH + "/../benchmarks/" + case_config["model"] + \ - "/" + framework - model_path = os.path.abspath(model_path) - if not os.path.exists(model_path): - RUN_LOGGER.warning("Case " + case + ": deploy path doesn't exist: " + - model_path) - return False - - config_path = CURR_PATH + "/../" + vendor + "/" + case_config["model"] + \ - "-" + framework + "/config/" + \ - case_config["config"] + ".py" - if not os.path.isfile(config_path): - RUN_LOGGER.warning("Case " + case + ": config file doesn't exist: " + - config_path) - return False - nnodes = case_config["nnodes"] - cluster_host_counts = CLUSTER_MGR.get_hosts_count() - # TODO Check nprocs < 8? - if nnodes > cluster_host_counts: - RUN_LOGGER.error("This case seems need more hosts than cluster has. " + - "The count of need hosts is " + str(nnodes) + - ", but cluster has " + str(cluster_host_counts)) - return False - - RUN_LOGGER.debug("Check config of test case: " + case + " ...[SUCCESS]") - return True - - -def prepare_docker_image_cluster(dp_path, image_mgr, framework, nnodes): - '''Prepare docker image in registry and in the cluster. - ''' - vendor = tc.VENDOR - image_vendor_dir = os.path.join( - CURR_PATH, "../" + vendor + "/docker_image/" + framework) - image_name = image_mgr.repository + ":" + image_mgr.tag - RUN_LOGGER.debug("Prepare docker image in cluster. image_name=" + - image_name + " image_vendor_dir=" + image_vendor_dir) - prepare_image_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/image_manager.py -o build -i " \ - + image_mgr.repository + " -t " + image_mgr.tag \ - + " -d " + image_vendor_dir + " -f " + framework - timeout = 1200 - RUN_LOGGER.debug("Run cmd in the cluster to prepare docker image: " + - prepare_image_cmd + " timeout=" + str(timeout)) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_image_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't pull image: " + - ",".join(bad_hosts.keys())) - return False - return True - - -def prepare_running_env(dp_path, container_name, case_config): - '''Install extensions and setup env before start task in container. - ''' - nnodes = case_config["nnodes"] - model = case_config["model"] - framework = case_config["framework"] - prepare_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runcmdin -c " \ - + container_name + " -t 1800 -r \"python3 " \ - + tc.FLAGPERF_PATH + "/" \ - + "/run_benchmarks/prepare_in_container.py --framework " \ - + framework + " --model " + model + " --vendor " \ - + tc.VENDOR + " --pipsource " + tc.PIP_SOURCE + "\"" - timeout = 1800 - RUN_LOGGER.debug( - "Run cmd in the cluster to prepare running environment: " + - prepare_cmd + " timeout=" + str(timeout)) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(prepare_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't prepare running environment " + - "properly: " + ",".join(bad_hosts.keys())) - return False - return True - - -def start_container_in_cluster(dp_path, run_args, container_name, image_name, - nnodes): - '''Call CLUSTER_MGR tool to start containers.''' - start_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runnew " \ - + " -c " + container_name + " -i " + image_name + " -a \"" \ - + run_args + "\"" - RUN_LOGGER.debug("Run cmd in the cluster to start container: " + start_cmd) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(start_cmd, nnodes, 600) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't start docker container: " + - ",".join(bad_hosts.keys())) - return False - return True - - -def stop_container_in_cluster(dp_path, container_name, nnodes): - '''Call CLUSTER_MGR tool to stop containers.''' - stop_cont_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o stop" \ - + " -c " + container_name - RUN_LOGGER.debug("Run cmd to stop container(s) in the cluster:" + - stop_cont_cmd) - failed_hosts = CLUSTER_MGR.run_command_some_hosts(stop_cont_cmd, nnodes, - 60) - if len(failed_hosts) != 0: - RUN_LOGGER.warning("Hosts that stop container " + container_name + - " failed:" + ",".join(failed_hosts.keys()) + - " Continue.") - return False - RUN_LOGGER.info("All containers stoped in the cluster") - return True - - -def clear_caches_cluster(clear, nnodes): - '''Set vm.drop to clean the system caches.''' - if not clear: - RUN_LOGGER.info("Caches clear config is NOT set.") - return - - clear_cmd = "sync && sudo /sbin/sysctl vm.drop_caches=3" - timeout = 30 - RUN_LOGGER.debug("Run cmd in the cluster to clear the system cache: " + - clear_cmd + " timeout=" + str(timeout)) - failed_hosts = CLUSTER_MGR.run_command_some_hosts(clear_cmd, nnodes, - timeout) - if len(failed_hosts) != 0: - RUN_LOGGER.warning("Hosts that clear cache failed: " + - ",".join(failed_hosts.keys()) + ". Continue.") - RUN_LOGGER.info("Clear system caches if it set......[SUCCESS]") - - -def start_monitors_in_cluster(dp_path, case_log_dir, nnodes): - '''Start sytem and vendor's monitors.''' - start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/sys_monitor.py -o restart -l " - timeout = 60 - RUN_LOGGER.debug("Run cmd in the cluster to start system monitors: " + - start_mon_cmd) - bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, - case_log_dir, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't start system monitors: " + - ",".join(bad_hosts.keys())) - - ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") - start_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " " + ven_mon_path + " -o restart -l " - RUN_LOGGER.debug("Run cmd in the cluster to start vendor's monitors: " + - start_mon_cmd) - bad_hosts = CLUSTER_MGR.start_monitors_some_hosts(start_mon_cmd, - case_log_dir, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't start vendor's monitors: " + - ",".join(bad_hosts.keys())) - - -def stop_monitors_in_cluster(dp_path, nnodes): - '''Stop sytem and vendor's monitors.''' - stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/sys_monitor.py -o stop" - timeout = 60 - RUN_LOGGER.debug("Run cmd in the cluster to stop system monitors: " + - stop_mon_cmd) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't stop system monitors: " + - ",".join(bad_hosts.keys())) - - ven_mon_path = os.path.join(dp_path, tc.VENDOR, tc.VENDOR + "_monitor.py") - stop_mon_cmd = "cd " + dp_path + " && " + sys.executable \ - + " " + ven_mon_path + " -o stop" - RUN_LOGGER.debug("Run cmd in the cluster to stop vendor's monitors: " + - stop_mon_cmd) - bad_hosts = CLUSTER_MGR.run_command_some_hosts(stop_mon_cmd, nnodes, - timeout) - if len(bad_hosts) != 0: - RUN_LOGGER.error("Hosts that can't stop vendor's monitors: " + - ",".join(bad_hosts.keys())) - - -def start_tasks_in_cluster(dp_path, container_name, case_config, base_args, - count, curr_log_path): - '''Start tasks in cluster, and NOT wait.''' - nnodes = case_config["nnodes"] - framework_sub_path = case_config["framework"] - if "_" in framework_sub_path: - framework_sub_path = framework_sub_path.split("_")[0] - env_file = os.path.join( - tc.FLAGPERF_PATH, tc.VENDOR, - case_config["model"] + "-" + framework_sub_path, - "config/environment_variables.sh") - framework = case_config["framework"].split("_")[0] - if (os.path.isfile(env_file)): - start_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runcmdin -c " \ - + container_name + " -d -r \"source " + env_file \ - + " > " + curr_log_path + "/source_env.log.txt " \ - + "2>&1 && " \ - + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ - + framework + "/start_" + framework + "_task.py " \ - + base_args + " --round " + str(count) - else: - start_cmd = "cd " + dp_path + " && " + sys.executable \ - + " utils/container_manager.py -o runcmdin -c " \ - + container_name + " -d -r \"" \ - + "python3 " + tc.FLAGPERF_PATH + "/run_benchmarks/" \ - + framework + "/start_" + framework + "_task.py " \ - + base_args + " --round " + str(count) - if tc.ACCE_VISIBLE_DEVICE_ENV_NAME is not None: - start_cmd += " --visible_dev_env " \ - + tc.ACCE_VISIBLE_DEVICE_ENV_NAME - start_cmd += " \"" - RUN_LOGGER.debug("Run cmd in the cluster to start tasks, cmd=" + start_cmd) - CLUSTER_MGR.run_command_some_hosts_distribution_info(start_cmd, nnodes, 15) - # Wait a moment for starting tasks. - time.sleep(60) - - -def wait_for_finish(dp_path, container_name, pid_file_path, nnodes): - '''wait all the processes of start_xxx_task.py finished. - ''' - # Aussme pid of start_xxx_task.py won't loop in a short time. - check_cmd = "cd " + dp_path + "; " + sys.executable \ - + " utils/container_manager.py -o pidrunning -c " \ - + container_name + " -f " + pid_file_path - - RUN_LOGGER.debug( - "Run cmd to check whether the training tasks is running: " + check_cmd) - while True: - bad_hosts = CLUSTER_MGR.run_command_some_hosts(check_cmd, - nnodes, - no_log=True) - if len(bad_hosts) == nnodes: - break - time.sleep(10) - - -def prepare_containers_env_cluster(dp_path, case_log_dir, container_name, - image_name, case_config): - '''Prepare containers environments in the cluster. It will start - containers, setup environments, start monitors, and clear caches.''' - nnodes = case_config["nnodes"] - container_start_args = " --rm --init --detach --net=host --uts=host" \ - + " --ipc=host --security-opt=seccomp=unconfined" \ - + " --privileged=true --ulimit=stack=67108864" \ - + " --ulimit=memlock=-1" \ - + " -w " + tc.FLAGPERF_PATH \ - + " --shm-size=" + tc.SHM_SIZE \ - + " -v " + dp_path + ":" \ - + tc.FLAGPERF_PATH \ - + " -v " + case_config["data_dir_host"] + ":" \ - + case_config["data_dir_container"] - if tc.ACCE_CONTAINER_OPT is not None: - container_start_args += " " + tc.ACCE_CONTAINER_OPT - - RUN_LOGGER.info("a) Stop old container(s) first.") - stop_container_in_cluster(dp_path, container_name, nnodes) - RUN_LOGGER.info("b) Start container(s) in the cluster.") - if not start_container_in_cluster(dp_path, container_start_args, - container_name, image_name, nnodes): - RUN_LOGGER.error("b) Start container in the cluster......" - "[FAILED]. Ignore this round.") - return False - RUN_LOGGER.info("b) Start container(s) in the cluster.......[SUCCESS]") - - RUN_LOGGER.info("c) Prepare running environment.") - if not prepare_running_env(dp_path, container_name, case_config): - RUN_LOGGER.error("c) Prepare running environment......" - "[FAILED]. Ignore this round.") - RUN_LOGGER.info("Stop containers in cluster.") - stop_container_in_cluster(dp_path, container_name, nnodes) - return False - RUN_LOGGER.info("c) Prepare running environment......[SUCCESS]") - RUN_LOGGER.info("d) Start monitors......") - start_monitors_in_cluster(dp_path, case_log_dir, nnodes) - RUN_LOGGER.info("e) Clear system caches if it set......") - clear_caches_cluster(tc.CLEAR_CACHES, nnodes) - return True - - -def clean_containers_env_cluster(dp_path, container_name, nnodes): - '''Clean containers environments in the cluster. It will stop containers, - and stop monitors.''' - RUN_LOGGER.info("a) Stop containers......") - stop_container_in_cluster(dp_path, container_name, nnodes) - RUN_LOGGER.info("b) Stop monitors......") - stop_monitors_in_cluster(dp_path, nnodes) - - -def collect_and_merge_logs(curr_log_path, cases): - '''Scp logs from hosts in the cluster to temp dir, and then merge all. - ''' - get_all = True - RUN_LOGGER.info("Collect logs in cluster.") - for case in cases: - rets, case_config = get_config_from_case(case) - repeat = case_config["repeat"] - for i in range(1, repeat + 1): - case_log_dir = os.path.join(curr_log_path, case, "round" + str(i)) - RUN_LOGGER.debug("Case " + case + ", round " + str(i) + - ", log dir: " + case_log_dir) - nnodes = case_config["nnodes"] - failed_hosts = CLUSTER_MGR.collect_files_some_hosts(curr_log_path, - curr_log_path, - nnodes, - timeout=600) - if len(failed_hosts) != 0: - RUN_LOGGER.error("Case " + case + ", round " + str(i) + - ", log dir: " + case_log_dir + - " collect log failed on hosts: " + - ",".join(failed_hosts)) - get_all = False - else: - RUN_LOGGER.info("Case " + case + ", round " + str(i) + - ", get all logs in dir: " + case_log_dir) - - if get_all: - RUN_LOGGER.info("Congrats! See all logs in " + curr_log_path) - else: - RUN_LOGGER.warning("Sorry! Not all logs have been collected in " + - curr_log_path) - - -def get_config_from_case(case): - '''check case is string''' - if not isinstance(case, str): - RUN_LOGGER.error("Key in test_config.CASES must be str") - return False, None - - case_info = case.split(":") - '''check if 4+ : in case, we don't care what to put in''' - if len(case_info) < 6: - RUN_LOGGER.error( - "At least 6 terms split by \":\" should in test_config.CASES") - RUN_LOGGER.error("model:framework:hardware_model:nnodes:nproc:repeat") - return False, None - - case_model = case_info[0] - case_framework = case_info[1] - case_hardware = case_info[2] - case_nnodes = case_info[3] - case_nproc = case_info[4] - case_repeat = case_info[5] - - case_config = {"model": case_model} - case_config["framework"] = case_framework - case_config[ - "config"] = "config_" + case_hardware + "x" + case_nnodes + "x" + case_nproc - case_config["repeat"] = int(case_repeat) - case_config["nnodes"] = int(case_nnodes) - case_config["nproc"] = int(case_nproc) - case_config["data_dir_host"] = tc.CASES[case] - case_config["data_dir_container"] = tc.CASES[case] - return True, case_config - - -def get_valid_cases(): - '''Check case config in test_conf, return valid cases list.''' - if not isinstance(tc.CASES, dict): - RUN_LOGGER.error( - "No valid cases found in test_conf because test_config.CASES is not a dict...[EXIT]" - ) - sys.exit(4) - RUN_LOGGER.debug("Check configs of all test cases: " + ",".join(tc.CASES)) - valid_cases = [] - cases_config_error = [] - for case in tc.CASES: - rets, case_config = get_config_from_case(case) - if (not rets) or (not check_case_config(case, case_config, tc.VENDOR)): - cases_config_error.append(case) - continue - valid_cases.append(case) - if len(valid_cases) == 0: - RUN_LOGGER.error("No valid cases found in test_conf...[EXIT]") - sys.exit(4) - RUN_LOGGER.debug("Valid cases: " + ",".join(valid_cases)) - RUN_LOGGER.debug("Invalid cases that config is error: " + - ",".join(cases_config_error)) - RUN_LOGGER.info("Get valid cases list......[SUCCESS]") - return valid_cases - - -def print_welcome_msg(): - '''Print colorful welcome message to console.''' - print("\033[1;34;40m==============================================\033[0m") - print("\033[1;36;40m Welcome to FlagPerf!\033[0m") - print( - "\033[1;36;40m See more at https://github.com/FlagOpen/FlagPerf \033[0m" - ) - print("\033[1;34;40m==============================================\033[0m") - - -def prepare_case_config_cluster(dp_path, case_config, case): - '''Sync case config files in cluster.''' - RUN_LOGGER.info("--------------------------------------------------") - RUN_LOGGER.info("Testcase " + case + " config:") - for config_item in case_config.keys(): - RUN_LOGGER.info(config_item + ":\t" + str(case_config[config_item])) - RUN_LOGGER.info("--------------------------------------------------") - model = case_config["model"] - framework = case_config["framework"].split("_")[0] - config_file = case_config["config"] + ".py" - nnodes = case_config["nnodes"] - case_config_dir = os.path.join(dp_path, tc.VENDOR, model + "-" + framework, - "config") - case_config_file = os.path.join(case_config_dir, config_file) - failed_hosts = CLUSTER_MGR.sync_file_to_some_hosts(case_config_file, - case_config_dir, nnodes) - if len(failed_hosts) != 0: - RUN_LOGGER.error("Hosts that sync vendor case config file failed: " + - ",".join(failed_hosts.keys())) - return False - return True - - -def log_test_configs(cases, curr_log_path, dp_path): - '''Put test configs to log ''' - RUN_LOGGER.info("--------------------------------------------------") - RUN_LOGGER.info("Prepare to run flagperf benchmakrs with configs: ") - RUN_LOGGER.info("Deploy path on host:\t" + dp_path) - RUN_LOGGER.info("Vendor:\t\t" + tc.VENDOR) - RUN_LOGGER.info("Testcases:\t\t[" + ','.join(cases) + "]") - RUN_LOGGER.info("Log path on host:\t" + curr_log_path) - RUN_LOGGER.info("Cluster:\t\t[" + ",".join(cc.HOSTS) + "]") - RUN_LOGGER.info("--------------------------------------------------") - - -def main(): - '''Main process to run all the testcases''' - - print_welcome_msg() - - # Set logger first - timestamp_log_dir = "run" + time.strftime("%Y%m%d%H%M%S", time.localtime()) - curr_log_path = os.path.join(tc.FLAGPERF_LOG_PATH, timestamp_log_dir) - RUN_LOGGER.init(curr_log_path, - "flagperf_run.log", - tc.FLAGPERF_LOG_LEVEL, - "both", - log_caller=True) - - RUN_LOGGER.info("======== Step 1: Check environment and configs. ========") - RUN_LOGGER.info("Initialize logger with log path: " + curr_log_path + - "......[SUCCESS]") - - # Check test environment and configs of testcases. - CLUSTER_MGR.init(cc.HOSTS, - cc.SSH_PORT, - getpass.getuser(), - logger=RUN_LOGGER) - check_cluster_health() - dp_path = _get_deploy_path() - check_cluster_deploy_path(dp_path) - check_testconf() - cases = get_valid_cases() - log_test_configs(cases, curr_log_path, dp_path) - - RUN_LOGGER.info("========= Step 2: Prepare and Run test cases. =========") - - for case in cases: - RUN_LOGGER.info("======= Testcase: " + case + " =======") - rets, case_config = get_config_from_case(case) - - # Prepare docker image. - image_mgr = image_manager.ImageManager( - "flagperf-" + tc.VENDOR + "-" + case_config["framework"], - "t_" + VERSION) - image_name = image_mgr.repository + ":" + image_mgr.tag - nnodes = case_config["nnodes"] - RUN_LOGGER.info("=== 2.1 Prepare docker image:" + image_name + " ===") - if not prepare_docker_image_cluster(dp_path, image_mgr, - case_config["framework"], nnodes): - RUN_LOGGER.error("=== 2.1 Prepare docker image...[FAILED] " + - "Ignore this case " + case + " ===") - continue - - # Set command to start docker container in the cluster - container_name = image_mgr.repository + "-" + image_mgr.tag \ - + "-container" - - # Set command to start train script in container in the cluster - log_dir_container = os.path.join(tc.FLAGPERF_LOG_PATH, - timestamp_log_dir) - base_args = " --vendor " + tc.VENDOR + " --case_name " + case \ - + " --model_name " + case_config["model"] \ - + " --train_script " + "run_pretraining.py" \ - + " --nnodes " + str(nnodes) \ - + " --nproc " + str(case_config["nproc"]) \ - + " --hosts " + ",".join(cc.HOSTS) \ - + " --hosts_ports " + ",".join(cc.HOSTS_PORTS) \ - + " --data_dir " + case_config["data_dir_container"] \ - + " --log_dir " + log_dir_container \ - + " --log_level " + tc.FLAGPERF_LOG_LEVEL \ - + " --extern_config_file " + case_config["config"] \ - + ".py" + " --enable_extern_config " \ - + " --master_port " + cc.MASTER_PORT - RUN_LOGGER.info("=== 2.2 Prepare case config in cluster. ===") - if not prepare_case_config_cluster(dp_path, case_config, case): - RUN_LOGGER.warning("Prepare case config in cluster...[FAILED]. " + - "Ignore case " + case) - continue - RUN_LOGGER.info("=== 2.3 Setup container and run testcases. ===") - for count in range(1, case_config["repeat"] + 1): - RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + - " starts ==-") - RUN_LOGGER.info("1) Prepare container environments in cluster...") - case_log_dir = os.path.join(curr_log_path, case, - "round" + str(count)) - if not prepare_containers_env_cluster(dp_path, case_log_dir, - container_name, image_name, - case_config): - RUN_LOGGER.error("1) Prepare container environments in cluster" - "...[FAILED]. Ignore case " + case + - " round " + str(count)) - continue - RUN_LOGGER.info("2) Start tasks in the cluster...") - start_tasks_in_cluster(dp_path, container_name, case_config, - base_args, count, curr_log_path) - - # Wait until start_xxx_task.py finished. - RUN_LOGGER.info("3) Waiting for tasks end in the cluster...") - pid_file_path = os.path.join( - log_dir_container, "start_" + - case_config["framework"].split("_")[0] + "_task.pid") - wait_for_finish(dp_path, container_name, pid_file_path, nnodes) - RUN_LOGGER.info("3) Training tasks end in the cluster...") - RUN_LOGGER.info("4) Clean container environments in cluster...") - clean_containers_env_cluster(dp_path, container_name, nnodes) - RUN_LOGGER.info("-== Testcase " + case + " Round " + str(count) + - " finished ==-") - RUN_LOGGER.info("=== 2.3 Setup container and run testcases finished." - " ===") - RUN_LOGGER.info("========= Step 3: Collect logs in the cluster. =========") - collect_and_merge_logs(curr_log_path, cases) - - -if __name__ == '__main__': - if len(sys.argv) > 1: - usage() - main() - RUN_LOGGER.stop() From bbd79e416a050bad20116e446d952ffb5add9a92 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 18:30:56 +0800 Subject: [PATCH 26/34] fix bug --- .../kunlunxin/faster_rcnn-pytorch/environment_variables.sh | 5 ----- training/kunlunxin/faster_rcnn-pytorch/requirements.txt | 6 ------ 2 files changed, 11 deletions(-) delete mode 100644 training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh delete mode 100644 training/kunlunxin/faster_rcnn-pytorch/requirements.txt diff --git a/training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh b/training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh deleted file mode 100644 index a7f429ac2..000000000 --- a/training/kunlunxin/faster_rcnn-pytorch/environment_variables.sh +++ /dev/null @@ -1,5 +0,0 @@ -# ================================================= -# Export variables -# ================================================= - -export METAX_USE_TF32=1 diff --git a/training/kunlunxin/faster_rcnn-pytorch/requirements.txt b/training/kunlunxin/faster_rcnn-pytorch/requirements.txt deleted file mode 100644 index 45dd53af8..000000000 --- a/training/kunlunxin/faster_rcnn-pytorch/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -/root/.cache/torch/hub/checkpoints/torchvision-0.15.1+mc2.19.0.2-cp38-cp38-linux_x86_64.whl -/root/.cache/torch/hub/checkpoints/torch-2.0.0+gite544b36-cp38-cp38-linux_x86_64.whl -pycocotools -numpy -tqdm -schedule \ No newline at end of file From ef15aee05b9f519dbecf5e3d0e21c38c2fd8dbc2 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Thu, 25 Jan 2024 19:09:09 +0800 Subject: [PATCH 27/34] update file path --- .../{ => config}/environment_variables.sh | 0 training/metax/faster_rcnn-pytorch/config/requirements.txt | 5 ++++- training/metax/faster_rcnn-pytorch/requirements.txt | 6 ------ 3 files changed, 4 insertions(+), 7 deletions(-) rename training/metax/faster_rcnn-pytorch/{ => config}/environment_variables.sh (100%) delete mode 100644 training/metax/faster_rcnn-pytorch/requirements.txt diff --git a/training/metax/faster_rcnn-pytorch/environment_variables.sh b/training/metax/faster_rcnn-pytorch/config/environment_variables.sh similarity index 100% rename from training/metax/faster_rcnn-pytorch/environment_variables.sh rename to training/metax/faster_rcnn-pytorch/config/environment_variables.sh diff --git a/training/metax/faster_rcnn-pytorch/config/requirements.txt b/training/metax/faster_rcnn-pytorch/config/requirements.txt index cc8d4dc61..45dd53af8 100644 --- a/training/metax/faster_rcnn-pytorch/config/requirements.txt +++ b/training/metax/faster_rcnn-pytorch/config/requirements.txt @@ -1,3 +1,6 @@ +/root/.cache/torch/hub/checkpoints/torchvision-0.15.1+mc2.19.0.2-cp38-cp38-linux_x86_64.whl +/root/.cache/torch/hub/checkpoints/torch-2.0.0+gite544b36-cp38-cp38-linux_x86_64.whl pycocotools numpy -tqdm \ No newline at end of file +tqdm +schedule \ No newline at end of file diff --git a/training/metax/faster_rcnn-pytorch/requirements.txt b/training/metax/faster_rcnn-pytorch/requirements.txt deleted file mode 100644 index 45dd53af8..000000000 --- a/training/metax/faster_rcnn-pytorch/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -/root/.cache/torch/hub/checkpoints/torchvision-0.15.1+mc2.19.0.2-cp38-cp38-linux_x86_64.whl -/root/.cache/torch/hub/checkpoints/torch-2.0.0+gite544b36-cp38-cp38-linux_x86_64.whl -pycocotools -numpy -tqdm -schedule \ No newline at end of file From 9bbaa12415dfe10ccfd6f21fa57966cbb5dbf19f Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Tue, 30 Jan 2024 12:39:27 +0800 Subject: [PATCH 28/34] support torch2.0 and torchvision>0.12 --- .../pytorch/model/__init___20240121222426.py | 9 + .../pytorch/model/__init___20240130123110.py | 12 + .../pytorch/model/__init___20240130123121.py | 13 + .../pytorch/model/__init___20240130123122.py | 13 + .../pytorch/model/__init___20240130123422.py | 13 + .../pytorch/model/__init___20240130123423.py | 13 + .../pytorch/model/__init___20240130123840.py | 13 + .../pytorch/model/__init___20240130123841.py | 13 + .../pytorch/train/evaluator_20240121222426.py | 333 ++++++++++++++++++ .../pytorch/train/evaluator_20240130123906.py | 332 +++++++++++++++++ .../faster_rcnn/pytorch/model/__init__.py | 12 +- .../faster_rcnn/pytorch/train/evaluator.py | 3 +- 12 files changed, 773 insertions(+), 6 deletions(-) create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py create mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py new file mode 100644 index 000000000..db98b9329 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py @@ -0,0 +1,9 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision + + +def create_model(): + + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py new file mode 100644 index 000000000..75f50181c --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py @@ -0,0 +1,12 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision +from packaging.version import Version + +def create_model(): + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py new file mode 100644 index 000000000..1dc83bb79 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py @@ -0,0 +1,13 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision +from packaging.version import Version + +def create_model(): + TORCHVISION_VERSION = Version(torchvision.__version__).base_version + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py new file mode 100644 index 000000000..1dc83bb79 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py @@ -0,0 +1,13 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision +from packaging.version import Version + +def create_model(): + TORCHVISION_VERSION = Version(torchvision.__version__).base_version + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py new file mode 100644 index 000000000..1dc83bb79 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py @@ -0,0 +1,13 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision +from packaging.version import Version + +def create_model(): + TORCHVISION_VERSION = Version(torchvision.__version__).base_version + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py new file mode 100644 index 000000000..1dc83bb79 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py @@ -0,0 +1,13 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision +from packaging.version import Version + +def create_model(): + TORCHVISION_VERSION = Version(torchvision.__version__).base_version + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py new file mode 100644 index 000000000..1dc83bb79 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py @@ -0,0 +1,13 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision +from packaging.version import Version + +def create_model(): + TORCHVISION_VERSION = Version(torchvision.__version__).base_version + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py new file mode 100644 index 000000000..1dc83bb79 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py @@ -0,0 +1,13 @@ +from torchvision.models.detection import fasterrcnn_resnet50_fpn +import torchvision +from packaging.version import Version + +def create_model(): + TORCHVISION_VERSION = Version(torchvision.__version__).base_version + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py b/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py new file mode 100644 index 000000000..4a34e734a --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py @@ -0,0 +1,333 @@ +import json +import tempfile + +import numpy as np +import copy +import time +import torch +import torch._six + +from pycocotools.cocoeval import COCOeval +from pycocotools.coco import COCO +import pycocotools.mask as mask_util + +from collections import defaultdict + +import utils.utils + + +class Evaluator(object): + + def __init__(self, coco_gt, iou_types=["bbox"]): + assert isinstance(iou_types, (list, tuple)) + coco_gt = copy.deepcopy(coco_gt) + self.coco_gt = coco_gt + + self.iou_types = iou_types + self.coco_eval = {} + for iou_type in iou_types: + self.coco_eval[iou_type] = COCOeval(coco_gt, iouType=iou_type) + + self.img_ids = [] + self.eval_imgs = {k: [] for k in iou_types} + + def update(self, predictions): + img_ids = list(np.unique(list(predictions.keys()))) + self.img_ids.extend(img_ids) + + for iou_type in self.iou_types: + results = self.prepare(predictions, iou_type) + coco_dt = loadResult(self.coco_gt, results) if results else COCO() + coco_eval = self.coco_eval[iou_type] + + coco_eval.cocoDt = coco_dt + coco_eval.params.imgIds = list(img_ids) + img_ids, eval_imgs = evaluate(coco_eval) + + self.eval_imgs[iou_type].append(eval_imgs) + + def synchronize_between_processes(self): + for iou_type in self.iou_types: + self.eval_imgs[iou_type] = np.concatenate(self.eval_imgs[iou_type], + 2) + create_common_coco_eval(self.coco_eval[iou_type], self.img_ids, + self.eval_imgs[iou_type]) + + def accumulate(self): + for coco_eval in self.coco_eval.values(): + coco_eval.accumulate() + + def summarize(self): + for iou_type, coco_eval in self.coco_eval.items(): + print("IoU metric: {}".format(iou_type)) + coco_eval.summarize() + + def prepare(self, predictions, iou_type): + if iou_type == "bbox": + return self.prepare_for_coco_detection(predictions) + elif iou_type == "segm": + return self.prepare_for_coco_segmentation(predictions) + elif iou_type == "keypoints": + return self.prepare_for_coco_keypoint(predictions) + else: + raise ValueError("Unknown iou type {}".format(iou_type)) + + def prepare_for_coco_detection(self, predictions): + coco_results = [] + for original_id, prediction in predictions.items(): + if len(prediction) == 0: + continue + + boxes = prediction["boxes"] + boxes = convert_to_xywh(boxes).tolist() + scores = prediction["scores"].tolist() + labels = prediction["labels"].tolist() + + coco_results.extend([{ + "image_id": original_id, + "category_id": labels[k], + "bbox": box, + "score": scores[k], + } for k, box in enumerate(boxes)]) + return coco_results + + def prepare_for_coco_segmentation(self, predictions): + coco_results = [] + for original_id, prediction in predictions.items(): + if len(prediction) == 0: + continue + + scores = prediction["scores"] + labels = prediction["labels"] + masks = prediction["masks"] + + masks = masks > 0.5 + + scores = prediction["scores"].tolist() + labels = prediction["labels"].tolist() + + rles = [ + mask_util.encode( + np.array(mask[0, :, :, np.newaxis], + dtype=np.uint8, + order="F"))[0] for mask in masks + ] + for rle in rles: + rle["counts"] = rle["counts"].decode("utf-8") + + coco_results.extend([{ + "image_id": original_id, + "category_id": labels[k], + "segmentation": rle, + "score": scores[k], + } for k, rle in enumerate(rles)]) + return coco_results + + def prepare_for_coco_keypoint(self, predictions): + coco_results = [] + for original_id, prediction in predictions.items(): + if len(prediction) == 0: + continue + + boxes = prediction["boxes"] + boxes = convert_to_xywh(boxes).tolist() + scores = prediction["scores"].tolist() + labels = prediction["labels"].tolist() + keypoints = prediction["keypoints"] + keypoints = keypoints.flatten(start_dim=1).tolist() + + coco_results.extend([{ + "image_id": original_id, + "category_id": labels[k], + 'keypoints': keypoint, + "score": scores[k], + } for k, keypoint in enumerate(keypoints)]) + return coco_results + + +def convert_to_xywh(boxes): + xmin, ymin, xmax, ymax = boxes.unbind(1) + return torch.stack((xmin, ymin, xmax - xmin, ymax - ymin), dim=1) + + +def merge(img_ids, eval_imgs): + all_img_ids = utils.utils.all_gather(img_ids) + all_eval_imgs = utils.utils.all_gather(eval_imgs) + + merged_img_ids = [] + for p in all_img_ids: + merged_img_ids.extend(p) + + merged_eval_imgs = [] + for p in all_eval_imgs: + merged_eval_imgs.append(p) + + merged_img_ids = np.array(merged_img_ids) + merged_eval_imgs = np.concatenate(merged_eval_imgs, 2) + + # keep only unique (and in sorted order) images + merged_img_ids, idx = np.unique(merged_img_ids, return_index=True) + merged_eval_imgs = merged_eval_imgs[..., idx] + + return merged_img_ids, merged_eval_imgs + + +def create_common_coco_eval(coco_eval, img_ids, eval_imgs): + img_ids, eval_imgs = merge(img_ids, eval_imgs) + img_ids = list(img_ids) + eval_imgs = list(eval_imgs.flatten()) + + coco_eval.evalImgs = eval_imgs + coco_eval.params.imgIds = img_ids + coco_eval._paramsEval = copy.deepcopy(coco_eval.params) + + +################################################################# +# From pycocotools, just removed the prints and fixed +# a Python3 bug about unicode not defined +################################################################# + +# Ideally, pycocotools wouldn't have hard-coded prints +# so that we could avoid copy-pasting those two functions + + +def createIndex(self): + anns, cats, imgs = {}, {}, {} + imgToAnns, catToImgs = defaultdict(list), defaultdict(list) + if 'annotations' in self.dataset: + for ann in self.dataset['annotations']: + imgToAnns[ann['image_id']].append(ann) + anns[ann['id']] = ann + + if 'images' in self.dataset: + for img in self.dataset['images']: + imgs[img['id']] = img + + if 'categories' in self.dataset: + for cat in self.dataset['categories']: + cats[cat['id']] = cat + + if 'annotations' in self.dataset and 'categories' in self.dataset: + for ann in self.dataset['annotations']: + catToImgs[ann['category_id']].append(ann['image_id']) + + self.anns = anns + self.imgToAnns = imgToAnns + self.catToImgs = catToImgs + self.imgs = imgs + self.cats = cats + + +maskUtils = mask_util + + +def loadResult(self, resFile): + """ + Load result file and return a result api object. + Args: + self (obj): coco object with ground truth annotations + resFile (str): file name of result file + Returns: + res (obj): result api object + """ + res = COCO() + res.dataset['images'] = [img for img in self.dataset['images']] + + if isinstance(resFile, torch._six.string_classes): + anns = json.load(open(resFile)) + elif type(resFile) == np.ndarray: + anns = self.loadNumpyAnnotations(resFile) + else: + anns = resFile + assert type(anns) == list, 'results in not an array of objects' + annsImgIds = [ann['image_id'] for ann in anns] + assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ + 'Results do not correspond to current coco set' + if 'caption' in anns[0]: + imgIds = set([img['id'] for img in res.dataset['images']]) & set( + [ann['image_id'] for ann in anns]) + res.dataset['images'] = [ + img for img in res.dataset['images'] if img['id'] in imgIds + ] + for id, ann in enumerate(anns): + ann['id'] = id + 1 + elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: + res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) + for id, ann in enumerate(anns): + bb = ann['bbox'] + x1, x2, y1, y2 = [bb[0], bb[0] + bb[2], bb[1], bb[1] + bb[3]] + if 'segmentation' not in ann: + ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] + ann['area'] = bb[2] * bb[3] + ann['id'] = id + 1 + ann['iscrowd'] = 0 + elif 'segmentation' in anns[0]: + res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) + for id, ann in enumerate(anns): + # now only support compressed RLE format as segmentation results + ann['area'] = maskUtils.area(ann['segmentation']) + if 'bbox' not in ann: + ann['bbox'] = maskUtils.toBbox(ann['segmentation']) + ann['id'] = id + 1 + ann['iscrowd'] = 0 + elif 'keypoints' in anns[0]: + res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) + for id, ann in enumerate(anns): + s = ann['keypoints'] + x = s[0::3] + y = s[1::3] + x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) + ann['area'] = (x2 - x1) * (y2 - y1) + ann['id'] = id + 1 + ann['bbox'] = [x1, y1, x2 - x1, y2 - y1] + + res.dataset['annotations'] = anns + createIndex(res) + return res + + +def evaluate(self): + ''' + Run per image evaluation on given images and store results (a list of dict) in self.evalImgs + :return: None + ''' + + p = self.params + # add backward compatibility if useSegm is specified in params + if p.useSegm is not None: + p.iouType = 'segm' if p.useSegm == 1 else 'bbox' + print('useSegm (deprecated) is not None. Running {} evaluation'.format( + p.iouType)) + p.imgIds = list(np.unique(p.imgIds)) + if p.useCats: + p.catIds = list(np.unique(p.catIds)) + p.maxDets = sorted(p.maxDets) + self.params = p + + self._prepare() + # loop through images, area range, max detection number + catIds = p.catIds if p.useCats else [-1] + + if p.iouType == 'segm' or p.iouType == 'bbox': + computeIoU = self.computeIoU + elif p.iouType == 'keypoints': + computeIoU = self.computeOks + self.ious = {(imgId, catId): computeIoU(imgId, catId) + for imgId in p.imgIds for catId in catIds} + + evaluateImg = self.evaluateImg + maxDet = p.maxDets[-1] + evalImgs = [ + evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds + for areaRng in p.areaRng for imgId in p.imgIds + ] + # this is NOT in the pycocotools code, but could be done outside + evalImgs = np.asarray(evalImgs).reshape(len(catIds), len(p.areaRng), + len(p.imgIds)) + self._paramsEval = copy.deepcopy(self.params) + return p.imgIds, evalImgs + + +################################################################# +# end of straight copy from pycocotools, just removing the prints +################################################################# diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py b/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py new file mode 100644 index 000000000..39ffdbea4 --- /dev/null +++ b/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py @@ -0,0 +1,332 @@ +import json +import tempfile + +import numpy as np +import copy +import time +import torch + +from pycocotools.cocoeval import COCOeval +from pycocotools.coco import COCO +import pycocotools.mask as mask_util + +from collections import defaultdict + +import utils.utils + + +class Evaluator(object): + + def __init__(self, coco_gt, iou_types=["bbox"]): + assert isinstance(iou_types, (list, tuple)) + coco_gt = copy.deepcopy(coco_gt) + self.coco_gt = coco_gt + + self.iou_types = iou_types + self.coco_eval = {} + for iou_type in iou_types: + self.coco_eval[iou_type] = COCOeval(coco_gt, iouType=iou_type) + + self.img_ids = [] + self.eval_imgs = {k: [] for k in iou_types} + + def update(self, predictions): + img_ids = list(np.unique(list(predictions.keys()))) + self.img_ids.extend(img_ids) + + for iou_type in self.iou_types: + results = self.prepare(predictions, iou_type) + coco_dt = loadResult(self.coco_gt, results) if results else COCO() + coco_eval = self.coco_eval[iou_type] + + coco_eval.cocoDt = coco_dt + coco_eval.params.imgIds = list(img_ids) + img_ids, eval_imgs = evaluate(coco_eval) + + self.eval_imgs[iou_type].append(eval_imgs) + + def synchronize_between_processes(self): + for iou_type in self.iou_types: + self.eval_imgs[iou_type] = np.concatenate(self.eval_imgs[iou_type], + 2) + create_common_coco_eval(self.coco_eval[iou_type], self.img_ids, + self.eval_imgs[iou_type]) + + def accumulate(self): + for coco_eval in self.coco_eval.values(): + coco_eval.accumulate() + + def summarize(self): + for iou_type, coco_eval in self.coco_eval.items(): + print("IoU metric: {}".format(iou_type)) + coco_eval.summarize() + + def prepare(self, predictions, iou_type): + if iou_type == "bbox": + return self.prepare_for_coco_detection(predictions) + elif iou_type == "segm": + return self.prepare_for_coco_segmentation(predictions) + elif iou_type == "keypoints": + return self.prepare_for_coco_keypoint(predictions) + else: + raise ValueError("Unknown iou type {}".format(iou_type)) + + def prepare_for_coco_detection(self, predictions): + coco_results = [] + for original_id, prediction in predictions.items(): + if len(prediction) == 0: + continue + + boxes = prediction["boxes"] + boxes = convert_to_xywh(boxes).tolist() + scores = prediction["scores"].tolist() + labels = prediction["labels"].tolist() + + coco_results.extend([{ + "image_id": original_id, + "category_id": labels[k], + "bbox": box, + "score": scores[k], + } for k, box in enumerate(boxes)]) + return coco_results + + def prepare_for_coco_segmentation(self, predictions): + coco_results = [] + for original_id, prediction in predictions.items(): + if len(prediction) == 0: + continue + + scores = prediction["scores"] + labels = prediction["labels"] + masks = prediction["masks"] + + masks = masks > 0.5 + + scores = prediction["scores"].tolist() + labels = prediction["labels"].tolist() + + rles = [ + mask_util.encode( + np.array(mask[0, :, :, np.newaxis], + dtype=np.uint8, + order="F"))[0] for mask in masks + ] + for rle in rles: + rle["counts"] = rle["counts"].decode("utf-8") + + coco_results.extend([{ + "image_id": original_id, + "category_id": labels[k], + "segmentation": rle, + "score": scores[k], + } for k, rle in enumerate(rles)]) + return coco_results + + def prepare_for_coco_keypoint(self, predictions): + coco_results = [] + for original_id, prediction in predictions.items(): + if len(prediction) == 0: + continue + + boxes = prediction["boxes"] + boxes = convert_to_xywh(boxes).tolist() + scores = prediction["scores"].tolist() + labels = prediction["labels"].tolist() + keypoints = prediction["keypoints"] + keypoints = keypoints.flatten(start_dim=1).tolist() + + coco_results.extend([{ + "image_id": original_id, + "category_id": labels[k], + 'keypoints': keypoint, + "score": scores[k], + } for k, keypoint in enumerate(keypoints)]) + return coco_results + + +def convert_to_xywh(boxes): + xmin, ymin, xmax, ymax = boxes.unbind(1) + return torch.stack((xmin, ymin, xmax - xmin, ymax - ymin), dim=1) + + +def merge(img_ids, eval_imgs): + all_img_ids = utils.utils.all_gather(img_ids) + all_eval_imgs = utils.utils.all_gather(eval_imgs) + + merged_img_ids = [] + for p in all_img_ids: + merged_img_ids.extend(p) + + merged_eval_imgs = [] + for p in all_eval_imgs: + merged_eval_imgs.append(p) + + merged_img_ids = np.array(merged_img_ids) + merged_eval_imgs = np.concatenate(merged_eval_imgs, 2) + + # keep only unique (and in sorted order) images + merged_img_ids, idx = np.unique(merged_img_ids, return_index=True) + merged_eval_imgs = merged_eval_imgs[..., idx] + + return merged_img_ids, merged_eval_imgs + + +def create_common_coco_eval(coco_eval, img_ids, eval_imgs): + img_ids, eval_imgs = merge(img_ids, eval_imgs) + img_ids = list(img_ids) + eval_imgs = list(eval_imgs.flatten()) + + coco_eval.evalImgs = eval_imgs + coco_eval.params.imgIds = img_ids + coco_eval._paramsEval = copy.deepcopy(coco_eval.params) + + +################################################################# +# From pycocotools, just removed the prints and fixed +# a Python3 bug about unicode not defined +################################################################# + +# Ideally, pycocotools wouldn't have hard-coded prints +# so that we could avoid copy-pasting those two functions + + +def createIndex(self): + anns, cats, imgs = {}, {}, {} + imgToAnns, catToImgs = defaultdict(list), defaultdict(list) + if 'annotations' in self.dataset: + for ann in self.dataset['annotations']: + imgToAnns[ann['image_id']].append(ann) + anns[ann['id']] = ann + + if 'images' in self.dataset: + for img in self.dataset['images']: + imgs[img['id']] = img + + if 'categories' in self.dataset: + for cat in self.dataset['categories']: + cats[cat['id']] = cat + + if 'annotations' in self.dataset and 'categories' in self.dataset: + for ann in self.dataset['annotations']: + catToImgs[ann['category_id']].append(ann['image_id']) + + self.anns = anns + self.imgToAnns = imgToAnns + self.catToImgs = catToImgs + self.imgs = imgs + self.cats = cats + + +maskUtils = mask_util + + +def loadResult(self, resFile): + """ + Load result file and return a result api object. + Args: + self (obj): coco object with ground truth annotations + resFile (str): file name of result file + Returns: + res (obj): result api object + """ + res = COCO() + res.dataset['images'] = [img for img in self.dataset['images']] + + if isinstance(resFile, str): + anns = json.load(open(resFile)) + elif type(resFile) == np.ndarray: + anns = self.loadNumpyAnnotations(resFile) + else: + anns = resFile + assert type(anns) == list, 'results in not an array of objects' + annsImgIds = [ann['image_id'] for ann in anns] + assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ + 'Results do not correspond to current coco set' + if 'caption' in anns[0]: + imgIds = set([img['id'] for img in res.dataset['images']]) & set( + [ann['image_id'] for ann in anns]) + res.dataset['images'] = [ + img for img in res.dataset['images'] if img['id'] in imgIds + ] + for id, ann in enumerate(anns): + ann['id'] = id + 1 + elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: + res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) + for id, ann in enumerate(anns): + bb = ann['bbox'] + x1, x2, y1, y2 = [bb[0], bb[0] + bb[2], bb[1], bb[1] + bb[3]] + if 'segmentation' not in ann: + ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] + ann['area'] = bb[2] * bb[3] + ann['id'] = id + 1 + ann['iscrowd'] = 0 + elif 'segmentation' in anns[0]: + res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) + for id, ann in enumerate(anns): + # now only support compressed RLE format as segmentation results + ann['area'] = maskUtils.area(ann['segmentation']) + if 'bbox' not in ann: + ann['bbox'] = maskUtils.toBbox(ann['segmentation']) + ann['id'] = id + 1 + ann['iscrowd'] = 0 + elif 'keypoints' in anns[0]: + res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) + for id, ann in enumerate(anns): + s = ann['keypoints'] + x = s[0::3] + y = s[1::3] + x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) + ann['area'] = (x2 - x1) * (y2 - y1) + ann['id'] = id + 1 + ann['bbox'] = [x1, y1, x2 - x1, y2 - y1] + + res.dataset['annotations'] = anns + createIndex(res) + return res + + +def evaluate(self): + ''' + Run per image evaluation on given images and store results (a list of dict) in self.evalImgs + :return: None + ''' + + p = self.params + # add backward compatibility if useSegm is specified in params + if p.useSegm is not None: + p.iouType = 'segm' if p.useSegm == 1 else 'bbox' + print('useSegm (deprecated) is not None. Running {} evaluation'.format( + p.iouType)) + p.imgIds = list(np.unique(p.imgIds)) + if p.useCats: + p.catIds = list(np.unique(p.catIds)) + p.maxDets = sorted(p.maxDets) + self.params = p + + self._prepare() + # loop through images, area range, max detection number + catIds = p.catIds if p.useCats else [-1] + + if p.iouType == 'segm' or p.iouType == 'bbox': + computeIoU = self.computeIoU + elif p.iouType == 'keypoints': + computeIoU = self.computeOks + self.ious = {(imgId, catId): computeIoU(imgId, catId) + for imgId in p.imgIds for catId in catIds} + + evaluateImg = self.evaluateImg + maxDet = p.maxDets[-1] + evalImgs = [ + evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds + for areaRng in p.areaRng for imgId in p.imgIds + ] + # this is NOT in the pycocotools code, but could be done outside + evalImgs = np.asarray(evalImgs).reshape(len(catIds), len(p.areaRng), + len(p.imgIds)) + self._paramsEval = copy.deepcopy(self.params) + return p.imgIds, evalImgs + + +################################################################# +# end of straight copy from pycocotools, just removing the prints +################################################################# diff --git a/training/benchmarks/faster_rcnn/pytorch/model/__init__.py b/training/benchmarks/faster_rcnn/pytorch/model/__init__.py index db98b9329..1dc83bb79 100755 --- a/training/benchmarks/faster_rcnn/pytorch/model/__init__.py +++ b/training/benchmarks/faster_rcnn/pytorch/model/__init__.py @@ -1,9 +1,13 @@ from torchvision.models.detection import fasterrcnn_resnet50_fpn import torchvision - +from packaging.version import Version def create_model(): - - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + TORCHVISION_VERSION = Version(torchvision.__version__).base_version + if Version(TORCHVISION_VERSION) > Version("0.12.0"): + # model_urls has gone since v0.13.0 + torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' + else: + torchvision.models.resnet.__dict__['model_urls'][ + 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' return fasterrcnn_resnet50_fpn() diff --git a/training/benchmarks/faster_rcnn/pytorch/train/evaluator.py b/training/benchmarks/faster_rcnn/pytorch/train/evaluator.py index 4a34e734a..39ffdbea4 100755 --- a/training/benchmarks/faster_rcnn/pytorch/train/evaluator.py +++ b/training/benchmarks/faster_rcnn/pytorch/train/evaluator.py @@ -5,7 +5,6 @@ import copy import time import torch -import torch._six from pycocotools.cocoeval import COCOeval from pycocotools.coco import COCO @@ -233,7 +232,7 @@ def loadResult(self, resFile): res = COCO() res.dataset['images'] = [img for img in self.dataset['images']] - if isinstance(resFile, torch._six.string_classes): + if isinstance(resFile, str): anns = json.load(open(resFile)) elif type(resFile) == np.ndarray: anns = self.loadNumpyAnnotations(resFile) From 914b9db552773fa375de9801e40fcda2bfd25f3c Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Tue, 30 Jan 2024 12:39:51 +0800 Subject: [PATCH 29/34] delete history --- .../pytorch/model/__init___20240121222426.py | 9 - .../pytorch/model/__init___20240130123110.py | 12 - .../pytorch/model/__init___20240130123121.py | 13 - .../pytorch/model/__init___20240130123122.py | 13 - .../pytorch/model/__init___20240130123422.py | 13 - .../pytorch/model/__init___20240130123423.py | 13 - .../pytorch/model/__init___20240130123840.py | 13 - .../pytorch/model/__init___20240130123841.py | 13 - .../pytorch/train/evaluator_20240121222426.py | 333 ------------------ .../pytorch/train/evaluator_20240130123906.py | 332 ----------------- 10 files changed, 764 deletions(-) delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py delete mode 100644 .history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py deleted file mode 100644 index db98b9329..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240121222426.py +++ /dev/null @@ -1,9 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision - - -def create_model(): - - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py deleted file mode 100644 index 75f50181c..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123110.py +++ /dev/null @@ -1,12 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision -from packaging.version import Version - -def create_model(): - if Version(TORCHVISION_VERSION) > Version("0.12.0"): - # model_urls has gone since v0.13.0 - torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - else: - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py deleted file mode 100644 index 1dc83bb79..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123121.py +++ /dev/null @@ -1,13 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision -from packaging.version import Version - -def create_model(): - TORCHVISION_VERSION = Version(torchvision.__version__).base_version - if Version(TORCHVISION_VERSION) > Version("0.12.0"): - # model_urls has gone since v0.13.0 - torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - else: - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py deleted file mode 100644 index 1dc83bb79..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123122.py +++ /dev/null @@ -1,13 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision -from packaging.version import Version - -def create_model(): - TORCHVISION_VERSION = Version(torchvision.__version__).base_version - if Version(TORCHVISION_VERSION) > Version("0.12.0"): - # model_urls has gone since v0.13.0 - torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - else: - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py deleted file mode 100644 index 1dc83bb79..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123422.py +++ /dev/null @@ -1,13 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision -from packaging.version import Version - -def create_model(): - TORCHVISION_VERSION = Version(torchvision.__version__).base_version - if Version(TORCHVISION_VERSION) > Version("0.12.0"): - # model_urls has gone since v0.13.0 - torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - else: - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py deleted file mode 100644 index 1dc83bb79..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123423.py +++ /dev/null @@ -1,13 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision -from packaging.version import Version - -def create_model(): - TORCHVISION_VERSION = Version(torchvision.__version__).base_version - if Version(TORCHVISION_VERSION) > Version("0.12.0"): - # model_urls has gone since v0.13.0 - torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - else: - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py deleted file mode 100644 index 1dc83bb79..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123840.py +++ /dev/null @@ -1,13 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision -from packaging.version import Version - -def create_model(): - TORCHVISION_VERSION = Version(torchvision.__version__).base_version - if Version(TORCHVISION_VERSION) > Version("0.12.0"): - # model_urls has gone since v0.13.0 - torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - else: - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py b/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py deleted file mode 100644 index 1dc83bb79..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/model/__init___20240130123841.py +++ /dev/null @@ -1,13 +0,0 @@ -from torchvision.models.detection import fasterrcnn_resnet50_fpn -import torchvision -from packaging.version import Version - -def create_model(): - TORCHVISION_VERSION = Version(torchvision.__version__).base_version - if Version(TORCHVISION_VERSION) > Version("0.12.0"): - # model_urls has gone since v0.13.0 - torchvision.models.resnet.ResNet50_Weights.IMAGENET1K_V1.value.url = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - else: - torchvision.models.resnet.__dict__['model_urls'][ - 'resnet50'] = 'https://download.pytorch.org/models/resnet50-0676ba61.pth' - return fasterrcnn_resnet50_fpn() diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py b/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py deleted file mode 100644 index 4a34e734a..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240121222426.py +++ /dev/null @@ -1,333 +0,0 @@ -import json -import tempfile - -import numpy as np -import copy -import time -import torch -import torch._six - -from pycocotools.cocoeval import COCOeval -from pycocotools.coco import COCO -import pycocotools.mask as mask_util - -from collections import defaultdict - -import utils.utils - - -class Evaluator(object): - - def __init__(self, coco_gt, iou_types=["bbox"]): - assert isinstance(iou_types, (list, tuple)) - coco_gt = copy.deepcopy(coco_gt) - self.coco_gt = coco_gt - - self.iou_types = iou_types - self.coco_eval = {} - for iou_type in iou_types: - self.coco_eval[iou_type] = COCOeval(coco_gt, iouType=iou_type) - - self.img_ids = [] - self.eval_imgs = {k: [] for k in iou_types} - - def update(self, predictions): - img_ids = list(np.unique(list(predictions.keys()))) - self.img_ids.extend(img_ids) - - for iou_type in self.iou_types: - results = self.prepare(predictions, iou_type) - coco_dt = loadResult(self.coco_gt, results) if results else COCO() - coco_eval = self.coco_eval[iou_type] - - coco_eval.cocoDt = coco_dt - coco_eval.params.imgIds = list(img_ids) - img_ids, eval_imgs = evaluate(coco_eval) - - self.eval_imgs[iou_type].append(eval_imgs) - - def synchronize_between_processes(self): - for iou_type in self.iou_types: - self.eval_imgs[iou_type] = np.concatenate(self.eval_imgs[iou_type], - 2) - create_common_coco_eval(self.coco_eval[iou_type], self.img_ids, - self.eval_imgs[iou_type]) - - def accumulate(self): - for coco_eval in self.coco_eval.values(): - coco_eval.accumulate() - - def summarize(self): - for iou_type, coco_eval in self.coco_eval.items(): - print("IoU metric: {}".format(iou_type)) - coco_eval.summarize() - - def prepare(self, predictions, iou_type): - if iou_type == "bbox": - return self.prepare_for_coco_detection(predictions) - elif iou_type == "segm": - return self.prepare_for_coco_segmentation(predictions) - elif iou_type == "keypoints": - return self.prepare_for_coco_keypoint(predictions) - else: - raise ValueError("Unknown iou type {}".format(iou_type)) - - def prepare_for_coco_detection(self, predictions): - coco_results = [] - for original_id, prediction in predictions.items(): - if len(prediction) == 0: - continue - - boxes = prediction["boxes"] - boxes = convert_to_xywh(boxes).tolist() - scores = prediction["scores"].tolist() - labels = prediction["labels"].tolist() - - coco_results.extend([{ - "image_id": original_id, - "category_id": labels[k], - "bbox": box, - "score": scores[k], - } for k, box in enumerate(boxes)]) - return coco_results - - def prepare_for_coco_segmentation(self, predictions): - coco_results = [] - for original_id, prediction in predictions.items(): - if len(prediction) == 0: - continue - - scores = prediction["scores"] - labels = prediction["labels"] - masks = prediction["masks"] - - masks = masks > 0.5 - - scores = prediction["scores"].tolist() - labels = prediction["labels"].tolist() - - rles = [ - mask_util.encode( - np.array(mask[0, :, :, np.newaxis], - dtype=np.uint8, - order="F"))[0] for mask in masks - ] - for rle in rles: - rle["counts"] = rle["counts"].decode("utf-8") - - coco_results.extend([{ - "image_id": original_id, - "category_id": labels[k], - "segmentation": rle, - "score": scores[k], - } for k, rle in enumerate(rles)]) - return coco_results - - def prepare_for_coco_keypoint(self, predictions): - coco_results = [] - for original_id, prediction in predictions.items(): - if len(prediction) == 0: - continue - - boxes = prediction["boxes"] - boxes = convert_to_xywh(boxes).tolist() - scores = prediction["scores"].tolist() - labels = prediction["labels"].tolist() - keypoints = prediction["keypoints"] - keypoints = keypoints.flatten(start_dim=1).tolist() - - coco_results.extend([{ - "image_id": original_id, - "category_id": labels[k], - 'keypoints': keypoint, - "score": scores[k], - } for k, keypoint in enumerate(keypoints)]) - return coco_results - - -def convert_to_xywh(boxes): - xmin, ymin, xmax, ymax = boxes.unbind(1) - return torch.stack((xmin, ymin, xmax - xmin, ymax - ymin), dim=1) - - -def merge(img_ids, eval_imgs): - all_img_ids = utils.utils.all_gather(img_ids) - all_eval_imgs = utils.utils.all_gather(eval_imgs) - - merged_img_ids = [] - for p in all_img_ids: - merged_img_ids.extend(p) - - merged_eval_imgs = [] - for p in all_eval_imgs: - merged_eval_imgs.append(p) - - merged_img_ids = np.array(merged_img_ids) - merged_eval_imgs = np.concatenate(merged_eval_imgs, 2) - - # keep only unique (and in sorted order) images - merged_img_ids, idx = np.unique(merged_img_ids, return_index=True) - merged_eval_imgs = merged_eval_imgs[..., idx] - - return merged_img_ids, merged_eval_imgs - - -def create_common_coco_eval(coco_eval, img_ids, eval_imgs): - img_ids, eval_imgs = merge(img_ids, eval_imgs) - img_ids = list(img_ids) - eval_imgs = list(eval_imgs.flatten()) - - coco_eval.evalImgs = eval_imgs - coco_eval.params.imgIds = img_ids - coco_eval._paramsEval = copy.deepcopy(coco_eval.params) - - -################################################################# -# From pycocotools, just removed the prints and fixed -# a Python3 bug about unicode not defined -################################################################# - -# Ideally, pycocotools wouldn't have hard-coded prints -# so that we could avoid copy-pasting those two functions - - -def createIndex(self): - anns, cats, imgs = {}, {}, {} - imgToAnns, catToImgs = defaultdict(list), defaultdict(list) - if 'annotations' in self.dataset: - for ann in self.dataset['annotations']: - imgToAnns[ann['image_id']].append(ann) - anns[ann['id']] = ann - - if 'images' in self.dataset: - for img in self.dataset['images']: - imgs[img['id']] = img - - if 'categories' in self.dataset: - for cat in self.dataset['categories']: - cats[cat['id']] = cat - - if 'annotations' in self.dataset and 'categories' in self.dataset: - for ann in self.dataset['annotations']: - catToImgs[ann['category_id']].append(ann['image_id']) - - self.anns = anns - self.imgToAnns = imgToAnns - self.catToImgs = catToImgs - self.imgs = imgs - self.cats = cats - - -maskUtils = mask_util - - -def loadResult(self, resFile): - """ - Load result file and return a result api object. - Args: - self (obj): coco object with ground truth annotations - resFile (str): file name of result file - Returns: - res (obj): result api object - """ - res = COCO() - res.dataset['images'] = [img for img in self.dataset['images']] - - if isinstance(resFile, torch._six.string_classes): - anns = json.load(open(resFile)) - elif type(resFile) == np.ndarray: - anns = self.loadNumpyAnnotations(resFile) - else: - anns = resFile - assert type(anns) == list, 'results in not an array of objects' - annsImgIds = [ann['image_id'] for ann in anns] - assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ - 'Results do not correspond to current coco set' - if 'caption' in anns[0]: - imgIds = set([img['id'] for img in res.dataset['images']]) & set( - [ann['image_id'] for ann in anns]) - res.dataset['images'] = [ - img for img in res.dataset['images'] if img['id'] in imgIds - ] - for id, ann in enumerate(anns): - ann['id'] = id + 1 - elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: - res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) - for id, ann in enumerate(anns): - bb = ann['bbox'] - x1, x2, y1, y2 = [bb[0], bb[0] + bb[2], bb[1], bb[1] + bb[3]] - if 'segmentation' not in ann: - ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] - ann['area'] = bb[2] * bb[3] - ann['id'] = id + 1 - ann['iscrowd'] = 0 - elif 'segmentation' in anns[0]: - res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) - for id, ann in enumerate(anns): - # now only support compressed RLE format as segmentation results - ann['area'] = maskUtils.area(ann['segmentation']) - if 'bbox' not in ann: - ann['bbox'] = maskUtils.toBbox(ann['segmentation']) - ann['id'] = id + 1 - ann['iscrowd'] = 0 - elif 'keypoints' in anns[0]: - res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) - for id, ann in enumerate(anns): - s = ann['keypoints'] - x = s[0::3] - y = s[1::3] - x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) - ann['area'] = (x2 - x1) * (y2 - y1) - ann['id'] = id + 1 - ann['bbox'] = [x1, y1, x2 - x1, y2 - y1] - - res.dataset['annotations'] = anns - createIndex(res) - return res - - -def evaluate(self): - ''' - Run per image evaluation on given images and store results (a list of dict) in self.evalImgs - :return: None - ''' - - p = self.params - # add backward compatibility if useSegm is specified in params - if p.useSegm is not None: - p.iouType = 'segm' if p.useSegm == 1 else 'bbox' - print('useSegm (deprecated) is not None. Running {} evaluation'.format( - p.iouType)) - p.imgIds = list(np.unique(p.imgIds)) - if p.useCats: - p.catIds = list(np.unique(p.catIds)) - p.maxDets = sorted(p.maxDets) - self.params = p - - self._prepare() - # loop through images, area range, max detection number - catIds = p.catIds if p.useCats else [-1] - - if p.iouType == 'segm' or p.iouType == 'bbox': - computeIoU = self.computeIoU - elif p.iouType == 'keypoints': - computeIoU = self.computeOks - self.ious = {(imgId, catId): computeIoU(imgId, catId) - for imgId in p.imgIds for catId in catIds} - - evaluateImg = self.evaluateImg - maxDet = p.maxDets[-1] - evalImgs = [ - evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds - for areaRng in p.areaRng for imgId in p.imgIds - ] - # this is NOT in the pycocotools code, but could be done outside - evalImgs = np.asarray(evalImgs).reshape(len(catIds), len(p.areaRng), - len(p.imgIds)) - self._paramsEval = copy.deepcopy(self.params) - return p.imgIds, evalImgs - - -################################################################# -# end of straight copy from pycocotools, just removing the prints -################################################################# diff --git a/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py b/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py deleted file mode 100644 index 39ffdbea4..000000000 --- a/.history/training/benchmarks/faster_rcnn/pytorch/train/evaluator_20240130123906.py +++ /dev/null @@ -1,332 +0,0 @@ -import json -import tempfile - -import numpy as np -import copy -import time -import torch - -from pycocotools.cocoeval import COCOeval -from pycocotools.coco import COCO -import pycocotools.mask as mask_util - -from collections import defaultdict - -import utils.utils - - -class Evaluator(object): - - def __init__(self, coco_gt, iou_types=["bbox"]): - assert isinstance(iou_types, (list, tuple)) - coco_gt = copy.deepcopy(coco_gt) - self.coco_gt = coco_gt - - self.iou_types = iou_types - self.coco_eval = {} - for iou_type in iou_types: - self.coco_eval[iou_type] = COCOeval(coco_gt, iouType=iou_type) - - self.img_ids = [] - self.eval_imgs = {k: [] for k in iou_types} - - def update(self, predictions): - img_ids = list(np.unique(list(predictions.keys()))) - self.img_ids.extend(img_ids) - - for iou_type in self.iou_types: - results = self.prepare(predictions, iou_type) - coco_dt = loadResult(self.coco_gt, results) if results else COCO() - coco_eval = self.coco_eval[iou_type] - - coco_eval.cocoDt = coco_dt - coco_eval.params.imgIds = list(img_ids) - img_ids, eval_imgs = evaluate(coco_eval) - - self.eval_imgs[iou_type].append(eval_imgs) - - def synchronize_between_processes(self): - for iou_type in self.iou_types: - self.eval_imgs[iou_type] = np.concatenate(self.eval_imgs[iou_type], - 2) - create_common_coco_eval(self.coco_eval[iou_type], self.img_ids, - self.eval_imgs[iou_type]) - - def accumulate(self): - for coco_eval in self.coco_eval.values(): - coco_eval.accumulate() - - def summarize(self): - for iou_type, coco_eval in self.coco_eval.items(): - print("IoU metric: {}".format(iou_type)) - coco_eval.summarize() - - def prepare(self, predictions, iou_type): - if iou_type == "bbox": - return self.prepare_for_coco_detection(predictions) - elif iou_type == "segm": - return self.prepare_for_coco_segmentation(predictions) - elif iou_type == "keypoints": - return self.prepare_for_coco_keypoint(predictions) - else: - raise ValueError("Unknown iou type {}".format(iou_type)) - - def prepare_for_coco_detection(self, predictions): - coco_results = [] - for original_id, prediction in predictions.items(): - if len(prediction) == 0: - continue - - boxes = prediction["boxes"] - boxes = convert_to_xywh(boxes).tolist() - scores = prediction["scores"].tolist() - labels = prediction["labels"].tolist() - - coco_results.extend([{ - "image_id": original_id, - "category_id": labels[k], - "bbox": box, - "score": scores[k], - } for k, box in enumerate(boxes)]) - return coco_results - - def prepare_for_coco_segmentation(self, predictions): - coco_results = [] - for original_id, prediction in predictions.items(): - if len(prediction) == 0: - continue - - scores = prediction["scores"] - labels = prediction["labels"] - masks = prediction["masks"] - - masks = masks > 0.5 - - scores = prediction["scores"].tolist() - labels = prediction["labels"].tolist() - - rles = [ - mask_util.encode( - np.array(mask[0, :, :, np.newaxis], - dtype=np.uint8, - order="F"))[0] for mask in masks - ] - for rle in rles: - rle["counts"] = rle["counts"].decode("utf-8") - - coco_results.extend([{ - "image_id": original_id, - "category_id": labels[k], - "segmentation": rle, - "score": scores[k], - } for k, rle in enumerate(rles)]) - return coco_results - - def prepare_for_coco_keypoint(self, predictions): - coco_results = [] - for original_id, prediction in predictions.items(): - if len(prediction) == 0: - continue - - boxes = prediction["boxes"] - boxes = convert_to_xywh(boxes).tolist() - scores = prediction["scores"].tolist() - labels = prediction["labels"].tolist() - keypoints = prediction["keypoints"] - keypoints = keypoints.flatten(start_dim=1).tolist() - - coco_results.extend([{ - "image_id": original_id, - "category_id": labels[k], - 'keypoints': keypoint, - "score": scores[k], - } for k, keypoint in enumerate(keypoints)]) - return coco_results - - -def convert_to_xywh(boxes): - xmin, ymin, xmax, ymax = boxes.unbind(1) - return torch.stack((xmin, ymin, xmax - xmin, ymax - ymin), dim=1) - - -def merge(img_ids, eval_imgs): - all_img_ids = utils.utils.all_gather(img_ids) - all_eval_imgs = utils.utils.all_gather(eval_imgs) - - merged_img_ids = [] - for p in all_img_ids: - merged_img_ids.extend(p) - - merged_eval_imgs = [] - for p in all_eval_imgs: - merged_eval_imgs.append(p) - - merged_img_ids = np.array(merged_img_ids) - merged_eval_imgs = np.concatenate(merged_eval_imgs, 2) - - # keep only unique (and in sorted order) images - merged_img_ids, idx = np.unique(merged_img_ids, return_index=True) - merged_eval_imgs = merged_eval_imgs[..., idx] - - return merged_img_ids, merged_eval_imgs - - -def create_common_coco_eval(coco_eval, img_ids, eval_imgs): - img_ids, eval_imgs = merge(img_ids, eval_imgs) - img_ids = list(img_ids) - eval_imgs = list(eval_imgs.flatten()) - - coco_eval.evalImgs = eval_imgs - coco_eval.params.imgIds = img_ids - coco_eval._paramsEval = copy.deepcopy(coco_eval.params) - - -################################################################# -# From pycocotools, just removed the prints and fixed -# a Python3 bug about unicode not defined -################################################################# - -# Ideally, pycocotools wouldn't have hard-coded prints -# so that we could avoid copy-pasting those two functions - - -def createIndex(self): - anns, cats, imgs = {}, {}, {} - imgToAnns, catToImgs = defaultdict(list), defaultdict(list) - if 'annotations' in self.dataset: - for ann in self.dataset['annotations']: - imgToAnns[ann['image_id']].append(ann) - anns[ann['id']] = ann - - if 'images' in self.dataset: - for img in self.dataset['images']: - imgs[img['id']] = img - - if 'categories' in self.dataset: - for cat in self.dataset['categories']: - cats[cat['id']] = cat - - if 'annotations' in self.dataset and 'categories' in self.dataset: - for ann in self.dataset['annotations']: - catToImgs[ann['category_id']].append(ann['image_id']) - - self.anns = anns - self.imgToAnns = imgToAnns - self.catToImgs = catToImgs - self.imgs = imgs - self.cats = cats - - -maskUtils = mask_util - - -def loadResult(self, resFile): - """ - Load result file and return a result api object. - Args: - self (obj): coco object with ground truth annotations - resFile (str): file name of result file - Returns: - res (obj): result api object - """ - res = COCO() - res.dataset['images'] = [img for img in self.dataset['images']] - - if isinstance(resFile, str): - anns = json.load(open(resFile)) - elif type(resFile) == np.ndarray: - anns = self.loadNumpyAnnotations(resFile) - else: - anns = resFile - assert type(anns) == list, 'results in not an array of objects' - annsImgIds = [ann['image_id'] for ann in anns] - assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ - 'Results do not correspond to current coco set' - if 'caption' in anns[0]: - imgIds = set([img['id'] for img in res.dataset['images']]) & set( - [ann['image_id'] for ann in anns]) - res.dataset['images'] = [ - img for img in res.dataset['images'] if img['id'] in imgIds - ] - for id, ann in enumerate(anns): - ann['id'] = id + 1 - elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: - res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) - for id, ann in enumerate(anns): - bb = ann['bbox'] - x1, x2, y1, y2 = [bb[0], bb[0] + bb[2], bb[1], bb[1] + bb[3]] - if 'segmentation' not in ann: - ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] - ann['area'] = bb[2] * bb[3] - ann['id'] = id + 1 - ann['iscrowd'] = 0 - elif 'segmentation' in anns[0]: - res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) - for id, ann in enumerate(anns): - # now only support compressed RLE format as segmentation results - ann['area'] = maskUtils.area(ann['segmentation']) - if 'bbox' not in ann: - ann['bbox'] = maskUtils.toBbox(ann['segmentation']) - ann['id'] = id + 1 - ann['iscrowd'] = 0 - elif 'keypoints' in anns[0]: - res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) - for id, ann in enumerate(anns): - s = ann['keypoints'] - x = s[0::3] - y = s[1::3] - x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) - ann['area'] = (x2 - x1) * (y2 - y1) - ann['id'] = id + 1 - ann['bbox'] = [x1, y1, x2 - x1, y2 - y1] - - res.dataset['annotations'] = anns - createIndex(res) - return res - - -def evaluate(self): - ''' - Run per image evaluation on given images and store results (a list of dict) in self.evalImgs - :return: None - ''' - - p = self.params - # add backward compatibility if useSegm is specified in params - if p.useSegm is not None: - p.iouType = 'segm' if p.useSegm == 1 else 'bbox' - print('useSegm (deprecated) is not None. Running {} evaluation'.format( - p.iouType)) - p.imgIds = list(np.unique(p.imgIds)) - if p.useCats: - p.catIds = list(np.unique(p.catIds)) - p.maxDets = sorted(p.maxDets) - self.params = p - - self._prepare() - # loop through images, area range, max detection number - catIds = p.catIds if p.useCats else [-1] - - if p.iouType == 'segm' or p.iouType == 'bbox': - computeIoU = self.computeIoU - elif p.iouType == 'keypoints': - computeIoU = self.computeOks - self.ious = {(imgId, catId): computeIoU(imgId, catId) - for imgId in p.imgIds for catId in catIds} - - evaluateImg = self.evaluateImg - maxDet = p.maxDets[-1] - evalImgs = [ - evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds - for areaRng in p.areaRng for imgId in p.imgIds - ] - # this is NOT in the pycocotools code, but could be done outside - evalImgs = np.asarray(evalImgs).reshape(len(catIds), len(p.areaRng), - len(p.imgIds)) - self._paramsEval = copy.deepcopy(self.params) - return p.imgIds, evalImgs - - -################################################################# -# end of straight copy from pycocotools, just removing the prints -################################################################# From ef03941941bb2ae10a6a9178e03b1c381e70384c Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Wed, 31 Jan 2024 15:13:30 +0800 Subject: [PATCH 30/34] add mext seed related --- training/benchmarks/driver/helper.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/training/benchmarks/driver/helper.py b/training/benchmarks/driver/helper.py index c616b4e92..545e83f19 100644 --- a/training/benchmarks/driver/helper.py +++ b/training/benchmarks/driver/helper.py @@ -80,6 +80,14 @@ def set_seed(self, seed: int, vendor: str = None): torch.manual_seed(seed) torch.musa.manual_seed(seed) torch.musa.manual_seed_all(seed) + elif lower_vendor == "metax": + import torch + torch.manual_seed(seed) + torch.cuda.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + torch.backends.cudnn.benchmark = getattr(config, "cudnn_benchmark") + torch.backends.cudnn.deterministic = getattr( + config, "cudnn_deterministic") else: # TODO 其他厂商设置seed,在此扩展 pass From 8e56fd2908035321607d21222930743ec8303e4c Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Wed, 7 Feb 2024 14:37:55 +0800 Subject: [PATCH 31/34] update main page --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index b067f3baa..06c9251c6 100644 --- a/README.md +++ b/README.md @@ -688,3 +688,6 @@ sudo python inference/run.py 如有疑问,可以发送邮件至flagperf@baai.ac.cn,或在[issue](https://github.com/FlagOpen/FlagPerf/issues)中说明情况 + + + From ab94d42a41cd75c2da94c3ff21bf3c8881c09ba3 Mon Sep 17 00:00:00 2001 From: Shengchu Zhao Date: Wed, 7 Feb 2024 15:42:35 +0800 Subject: [PATCH 32/34] replate 5 files --- .../llama2_70B/megatron/megatron_main.sh | 2 +- .../llama2_7b-megatron-deepspeed/README.md | 32 +++++----- .../docker_image/megatron/megatron_install.sh | 3 +- .../llama2_7b-megatron-deepspeed/README.md | 59 ++++++++++--------- .../config/config_A100x1x8.py | 2 +- 5 files changed, 50 insertions(+), 48 deletions(-) diff --git a/training/benchmarks/llama2_70B/megatron/megatron_main.sh b/training/benchmarks/llama2_70B/megatron/megatron_main.sh index f657550b2..812d57ae4 100644 --- a/training/benchmarks/llama2_70B/megatron/megatron_main.sh +++ b/training/benchmarks/llama2_70B/megatron/megatron_main.sh @@ -33,7 +33,7 @@ echo $FLASH_ATTN echo $RECOMPUTE echo $VENDOR_SHELL -DATA_PATH=$DATA_DIR/pile_wikipedia_demo +DATA_PATH=$DATA_DIR/llama_00_text_document TOKENIZER_PATH=$DATA_DIR/tokenizer/tokenizer.model DISTRIBUTED_ARGS=" diff --git a/training/metax/llama2_7b-megatron-deepspeed/README.md b/training/metax/llama2_7b-megatron-deepspeed/README.md index c9835927c..20a77f471 100644 --- a/training/metax/llama2_7b-megatron-deepspeed/README.md +++ b/training/metax/llama2_7b-megatron-deepspeed/README.md @@ -31,24 +31,24 @@ * 通用指标 -| 指标名称 | 指标值 | 特殊说明 | -| ------------ | -------------------------- | ---------------------------------- | -| 任务类别 | 自然语言理解 | | -| 模型 | llama2_7b | | -| 数据集 | RedPajama-Data-1T-Sample | | -| 数据精度 | amp | | -| 超参修改 | parallel,见“性能指标” | 格式为TPxPPyDPz,例如TP2PP1DP4 | -| 超参修改 | fix_hp,见“性能指标” | 运行必要特殊超参,例如需要改小seqlength避免OOM | -| 硬件设备简称 | MXC500 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 计算使用率 | MFU,见“性能指标” | 参见PaLM论文定义 | -| **吞吐量** | **token/p/s,见“性能指标”** | 平均单卡每秒处理的token数 | +| 指标名称 | 指标值 | 特殊说明 | +| ------- | ------------------------ | ----------------------------- | +| 任务类别 | 自然语言理解 | | +| 模型 | llama2_7b | | +| 数据集 | RedPajama-Data-1T-Sample | | +| 数据精度 | amp | | +| 超参修改 | parallel,见“性能指标” | 格式为TPxPPyDPz,例如TP2PP1DP4 | +| 超参修改 | fix_hp,见“性能指标” | 运行必要特殊超参,例如需要改小seqlength避免OOM | +| 硬件设备简称 | MXC500 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 计算使用率 | MFU,见“性能指标” | 参见PaLM论文定义 | +| **吞吐量** | **token/p/s,见“性能指标”** | 平均单卡每秒处理的token数 | * 性能指标 值得注意的是,下列第2组实验的global_batchsize与llama2原始论文相同, 训练100 step,此项实验也将作为精度对齐所用实验。精度对齐需第21步及之后,所有步的loss与nvidia对应步的loss平均相对误差小于2%。 -| 配置 | parallel | fix_hp | token/p/s | loss | 是否精度对齐 | mem | MFU | -| ------------------- | -------- | ---------------- | ---------- | ---- | ---------- | ---------- | -------- | -| C500单机8卡(1x8) | TP1PP1DP8 | / | / | 3.83 | / | 62/64 | 51.8% | -| C500单机8卡(1x8) | TP4PP1DP2 | GAS=128(GBS=1024=4M tokens) | / | 7.77 | True | 62/64 | 53.0% | +| 配置 | parallel | fix_hp | token/p/s | 是否精度对齐 | mem | MFU | +| ------------- | --------- | --------------------------- | --------- | ------ | ----- | ----- | +| C500单机8卡(1x8) | TP1PP1DP8 | / | / | / | 62/64 | 51.8% | +| C500单机8卡(1x8) | TP4PP1DP2 | GAS=128(GBS=1024=4M tokens) | / | True | 62/64 | 53.0% | diff --git a/training/nvidia/docker_image/megatron/megatron_install.sh b/training/nvidia/docker_image/megatron/megatron_install.sh index 7662a98b6..2f441e47e 100644 --- a/training/nvidia/docker_image/megatron/megatron_install.sh +++ b/training/nvidia/docker_image/megatron/megatron_install.sh @@ -1,6 +1,7 @@ #!/bin/bash # using github mirrors to avoid github TTL git clone https://githubfast.com/FlagOpen/FlagScale +cd FlagScale git checkout 26cd6643c472f853e077779abaa51bb6a1c140bf echo 'export PYTHONPATH=$PYTHONPATH:/workspace/FlagScale' >> /root/.bashrc -source /root/.bashrc \ No newline at end of file +source /root/.bashrc diff --git a/training/nvidia/llama2_7b-megatron-deepspeed/README.md b/training/nvidia/llama2_7b-megatron-deepspeed/README.md index aef0000fb..69b4ee4a7 100644 --- a/training/nvidia/llama2_7b-megatron-deepspeed/README.md +++ b/training/nvidia/llama2_7b-megatron-deepspeed/README.md @@ -3,23 +3,26 @@ ### Nvidia GPU配置与运行信息参考 #### 环境配置 -- ##### 硬件环境 - - 机器型号: NVIDIA DGX A100(40G) - - 加速卡型号: NVIDIA_A100-SXM4-40GB +- ##### A800硬件环境 + + - 机器型号: NVIDIA DGX A800(80G) + - 加速卡型号: NVIDIA_A800-SXM4-80GB - CPU型号: AMD EPYC7742-64core@1.5G - 多机网络类型、带宽: InfiniBand,200Gb/s - -- ##### H800软件环境 - - OS版本:Ubuntu 22.04 LTS - - OS kernel版本: 5.15.0-25-generic - - 加速卡驱动版本:535.129.03 - - Docker 版本:24.0.7 - - 训练框架版本:deepspeed 0.11.0, Megatron-DeepSpeed.git@11f2d9342 - - 依赖软件版本:sentencepiece, transformers==4.34.1 + +- ##### A800软件环境 + + - OS版本:Ubuntu 20.04 + - OS kernel版本: 5.4.0-126-generic + - 加速卡驱动版本:470.141.10 + - Docker 版本:20.10.18 + - 训练框架版本:deepspeed 0.11.1 + - 依赖软件版本:sentencepiece - ##### 并行策略 - 并行技术: data parallel, tensor parallel, pipeline parallel - 实施者:Megatron Deepspeed + - ##### 优化策略 - flash attention 2 @@ -30,29 +33,27 @@ 2. seqlength(max_position_embedding),简写为MPE,即实际进入模型的序列长度,为config_A100x1x8.py中所写,在本case中默认为4096 3. gradient_accumulate_steps,简写为GAS,即梯度累加步数,为ds_config.json中所写,在本case中默认为32 4. global_batchsize恒等于local_batchsize\*gradient_accumulate_steps\*data_parallel_size/(tensor_parallel\*pipeline_parallel),简写为GBS - 5. tensor_parallel, 简写为TP, 本case默认为4 - 6. pipeline_parallel, 简写为PP, 本case默认为1 * 通用指标 -| 指标名称 | 指标值 | 特殊说明 | -| ------------ | -------------------------- | ---------------------------------- | -| 任务类别 | 自然语言理解 | | -| 模型 | llama2_7b | | -| 数据集 | RedPajama-Data-1T-Sample | | -| 数据精度 | amp | | -| 超参修改 | parallel,见“性能指标” | 格式为TPxPPyDPz,例如TP2PP1DP4 | -| 超参修改 | fix_hp,见“性能指标” | 运行必要特殊超参,例如需要改小seqlength避免OOM | -| 硬件设备简称 | nvidia A100 | | -| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | -| 计算使用率 | MFU,见“性能指标” | 参见PaLM论文定义 | -| **吞吐量** | **token/p/s,见“性能指标”** | 平均单卡每秒处理的token数 | +| 指标名称 | 指标值 | 特殊说明 | +| ------- | ------------------------ | ----------------------------- | +| 任务类别 | 自然语言理解 | | +| 模型 | llama2_7b | | +| 数据集 | RedPajama-Data-1T-Sample | | +| 数据精度 | amp | | +| 超参修改 | parallel,见“性能指标” | 格式为TPxPPyDPz,例如TP2PP1DP4 | +| 超参修改 | fix_hp,见“性能指标” | 运行必要特殊超参,例如需要改小seqlength避免OOM | +| 硬件设备简称 | nvidia A800 | | +| 硬件存储使用 | mem,见“性能指标” | 通常称为“显存”,单位为GiB | +| 计算使用率 | MFU,见“性能指标” | 参见PaLM论文定义 | +| **吞吐量** | **token/p/s,见“性能指标”** | 平均单卡每秒处理的token数 | * 性能指标 值得注意的是,下列第2组实验的global_batchsize与llama2原始论文相同, 训练100 step,此项实验也将作为精度对齐所用实验。精度对齐需第21步及之后,所有步的loss与nvidia对应步的loss平均相对误差小于2%。 -| 配置 | parallel | fix_hp | token/p/s | loss | 是否精度对齐 | mem | MFU | -| ------------------- | -------- | ---------------- | ---------- | ---- | ---------- | ---------- | -------- | -| A100单机8卡(1x8) | TP4PP1DP2 | / | 2868 | 4.65 | / | 32/40 | 38.6% | -| A100单机8卡(1x8) | TP4PP1DP2 | GAS=512(GBS=1024=4M tokens) | 2908 | 7.86 | True | 32/40 | 39.1% | \ No newline at end of file +| 配置 | parallel | fix_hp | token/p/s | 是否精度对齐 | mem | MFU | +| ------------- | -------- | --------------------------- | --------- | ------ | ----- | ----- | +| A800单机8卡(1x8) | DP8 | / | 4047 | / | 63/80 | 54.6% | +| A100单机8卡(1x8) | DP8 | GAS=128(GBS=1024=4M tokens) | 3974 | True | 63/80 | 53.5% | \ No newline at end of file diff --git a/training/nvidia/llama2_7b-megatron-deepspeed/config/config_A100x1x8.py b/training/nvidia/llama2_7b-megatron-deepspeed/config/config_A100x1x8.py index 2b3d4235d..2ead416bc 100644 --- a/training/nvidia/llama2_7b-megatron-deepspeed/config/config_A100x1x8.py +++ b/training/nvidia/llama2_7b-megatron-deepspeed/config/config_A100x1x8.py @@ -3,5 +3,5 @@ accumulate_steps = 32 theoryflops = 312000000000000.0 train_steps = 1000 -tensor_parallel = 4 +tensor_parallel = 1 pipeline_parallel = 1 From d27cf9fdfef801452dfe66113eed5fc12e31ccf4 Mon Sep 17 00:00:00 2001 From: shh2000 <13820618441@163.com> Date: Wed, 7 Feb 2024 15:53:56 +0800 Subject: [PATCH 33/34] ur --- README.md | 70 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 06c9251c6..738d78cf4 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,16 @@ 6 + chatglm3_6b + LLM + deepspeed + N/A + N/A + N/A + N/A + + + 7 cpm LLM pytorch @@ -128,7 +138,7 @@ N/A - 7 + 8 detr CV pytorch @@ -138,7 +148,7 @@ N/A - 8 + 9 distilbert NLP pytorch @@ -148,7 +158,7 @@ N/A - 9 + 10 DLRM RS pytorch @@ -158,7 +168,7 @@ N/A - 10 + 11 efficientnet CV pytorch @@ -168,7 +178,7 @@ N/A - 11 + 12 faster_rcnn CV pytorch @@ -178,7 +188,7 @@ pytorch - 12 + 13 glm LLM pytorch @@ -188,7 +198,7 @@ N/A - 13 + 14 gpt2 LLM pytorch @@ -198,7 +208,7 @@ N/A - 14 + 15 gpt3_13B LLM paddle @@ -208,7 +218,7 @@ N/A - 15 + 16 gpt3_6.7B LLM paddle @@ -218,7 +228,7 @@ N/A - 16 + 17 llama1_13B LLM paddle @@ -228,7 +238,7 @@ N/A - 17 + 18 llama1_7B LLM paddle @@ -238,17 +248,17 @@ N/A - 18 + 19 llama2_7b LLM - deepspeed + deepspeed,megatron-deepspeed deepspeed deepspeed deepspeed - N/A + megatron-deepspeed - 19 + 20 llama2_7b_finetune LLM pytorch @@ -258,17 +268,17 @@ N/A - 20 + 21 llama2_70b LLM megatron N/A N/A N/A - N/A + megatron - 21 + 22 longformer NLP pytorch @@ -278,7 +288,7 @@ N/A - 22 + 23 mask_rcnn CV pytorch @@ -288,7 +298,7 @@ N/A - 23 + 24 mobilenetv2 CV pytorch @@ -298,7 +308,7 @@ N/A - 24 + 25 resnet50 CV pytorch, tensorflow2 @@ -308,7 +318,7 @@ pytorch - 25 + 26 retinanet CV pytorch @@ -318,7 +328,7 @@ pytorch - 26 + 27 swin_transformer CV pytorch @@ -328,7 +338,7 @@ pytorch - 27 + 28 t5_small NLP pytorch @@ -338,7 +348,7 @@ pytorch - 28 + 29 tacotron2 Audio pytorch @@ -348,7 +358,7 @@ N/A - 29 + 30 transformer NLP pytorch @@ -358,7 +368,7 @@ N/A - 30 + 31 transformer_xl NLP pytorch @@ -368,7 +378,7 @@ pytorch - 31 + 32 vit CV pytorch @@ -378,7 +388,7 @@ N/A - 32 + 33 wav2vec2 Audio pytorch @@ -388,7 +398,7 @@ N/A - 33 + 34 WaveGlow Audio pytorch From f8891e1dd274238b0130a36172eca8fde5d9e487 Mon Sep 17 00:00:00 2001 From: shh2000 <13820618441@163.com> Date: Wed, 7 Feb 2024 15:58:57 +0800 Subject: [PATCH 34/34] ur --- assets/imgs/coop.png | Bin 108914 -> 153723 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/imgs/coop.png b/assets/imgs/coop.png index e19c8c71067def57ab11e6c3c3ad83eeaf70e7cd..8b178e5c02a98d2ddd2f432224f6440da2808773 100644 GIT binary patch literal 153723 zcmd?RRd5_IvnFb0#+Y#&bIk0-%*@O@#xY|OGcz+Y!HR~{dnh z3LXI)2ayVwT@(qATGbTa<>wz7j)Z~+0$Q=Y*&R+UHTA|8WWrAX4Kt93XJ9IixP+El zV)FdLH9aq%l%~0B;oPE*g{76Xds0eTar56*C^XoAYlIDp4fPGGcZfY&Eq#bx&ivCL zL$oHo#*Pb?^G>~rW#>Tf29d!$xTw`Yz^OkI8(9Uh%c42vJq4vMH?nmdmUchHZZ z<)tc;j^qIab01RFXF6A0j#>Z#4N`A%VO0u1l9nhU7q1w#J9L`vFO*m7Ds>3JwS=QT zE;QS_%>}ZnPVE;A<_V9_U`k?G#49Kzb{QrJrY-lX<;(>CPU7B0F>h?eS;g_*c55r9yyCmQN%;5LSyqF$jx(-Ve^QNZ9jIJfG^22Ssk9h{}Oo0a@)k$YYUz) z1DabdfeGaxyse}j`m#KWsC!6{pY3mmr=hm75~>V=XQdTqgfhuRj&~%mZg~S=9Sa>- zI_|vz#e42dIld#g{430fZ~iMFyUA1i!dmE>J?$+ZQ)5#00txcIbbL0?BBXYGSkRVv zc($<(vc6Pz|3fsp@SOVV@Wy+tb7!j(vmx2Yp8i0UL(TFNqM8Hb!E7vGKXfzqIC;#_ z+kP_P#XISOsZIW8y#8vEa|kupaV_=IFi&pL#%zMp_{F6R`gmg6m#6g%6mPJ3g<^f+ z+!$6GO=~g7L<3m{7A-^h6?hM$M6J_`Jw9yaFH|Md*8)E;;;F$Tn>>21s81t?h(g-NZa%yybB_1L?N1!Pr|n2Du2Ca}wcI{F^nLGbhi%2=4qdyK}sx z4OXsQQ6VzRU!^%x(}Y<0$i#qXb9TFS^-n_#3g(|m*rUyohu9Bt@N&4E8&RN;kmC22Mf`7Pv4#}N$I`P^fR2~c($e`?cC9T5)8z?;?_q`?V^&qFJFMQ7=Ek``a ztq-${Gc+70gS>{Por{SPnq}e%zoHH76svHsrLqGS+try?p8NcnX!kWWB@-R#Ih|~C ze;P`8T(Osv$g4P=lwA6f$d>7*1}{5di}FWVGL98z!8A3|FGtXQc(elWGL3~)afCAB zQf)Y-Txt8(ql4LQjCaNk4F!Qp+_XUoIr$li1pY^Z@H*wSOGCdklTMs+)TM&_c3?N2pw2?-$L3}qiF&x z4zOX2ra7uvX-_ufRh#3$ZGst1#3ZYnjgmU$4wsS=KQnG2cR0`Td~lU)D!beUHNw;V z68P>oRM2M)XkcmoW031O$u{Qb5vrI%h`{P#)Wxlwx@Rf+yoncjpURI(XZL21O;_@B z&-XTwpowf-r9KWRQP17zOQ=5cRiNm*h6A02OSJXK*vj31HqiO2Yi&_Ep?0kP%{PCe zg@Q}}n6l;rt3`Iyn&Z{64Sp%*<2Rw8P}Qc?u*I?jkQOTG7*e8|$W84=bBy!;IW?Bu zC=A|v3hn6t5}G0$L!8aBa+5%4KdD-`+L z$hDVfo%zqHGlE~U+fhudI0=!WW#md2B0f1<4Q@QSB-ty3fXQ@I*VTH7OiI2Y?`{o& z=lqmxm42y;CFgv$U8e{;s{r5bbI)B2VuzsUY^69^1g63TxvCp60z_|Cd(KG((br%{lz$8Gp%D;o%&4E zI*0|mt|DrbJtNir(s_h3x;xWHije{mZHgBaVNHO(B0CnHl+>DczCgaXWR$k)vzDxU zLgF#7Tg&Yrf3>_<$P(%BjE$8wFwTk2Gmjj69?PKLkSU?-s>*6_c7~(xzgEh%I9Mg& zW{4Up!-`jOfG-p(*DDbwOM44z0gqEmS%NZ`sP<`yGu!U{|Lu6lrBewZAL2(5?tEbX zf!MltPEEeqpErZW29+!#643Y0MS1^;X&)OmGS}NS#PPp%3)ns$HanJLiN^-PJS{(w zP-?t;1NL^b7feggd=xewFPGGfPfJ0Shonfb$M92Ffk=!ZGS7>B zu0HTFq$hxab2znGMqo3x3Bn%TqFwuc#P>0gfP$0oh4KxLTZVob#;e6_Ua>2%B95` zT#{C$fCOGWqCWakg*WCr(34Qo!A@%GHN%0$KrwnM#wsSy1uB9SSsb5#DB)7mut_x2 zr%!4sO@T;2vo5Caj0hWNz9~*{6DM`mQ`Yeiq>aJmz#9`0P~Gx}KRbU}U1p-d)2NbA z%%T9S$z1vTJCi!t|Fli}4k+>kpEf9btK?%Shd#rsb={}?_x`0Uu-&MEB$kL3D~xg_ z`=?2J+Z!ifmLO{iN9q4%ut}LM5Wgsl{1qazFRho>j6`J4U64 zBpqmCw2)dF+GRBrg)?w>Gpba_?rG^8WZ1^UAq*P23pKrx$mzEVYz@Bms+SA5+o0dr z;`1%`_`~~Jlt!rwB`>DYFOn9CZn+a6La7Qm)};9Ccx$n|q3D+@U)+U>fTk#`l&8H; zfy4NZjBFRx!Jr#_ImqB5iBk5-xJ^}xoc#RqJ!GzEG=ASXiQg*Nnr`Air4dW*B3D8N zR<}HCa&3P~M|-Drsx$Bi9s!UHJkz-Kp`w;u3(fYSeM;9Cz+5X|-Lfq*#n4MC zUWqd=IcDW^889NC59}s3ut1|QxXrv$jxpayYQEKardDSt`5IrKR2zbus8wJpnTr!( z83$h|&7=5j(t`gv%zff0vvU(h4F=FwM^I-l&Jxc~1DR%9>LD)dNHIMrYHn$A*SlEC8`(_C1P!)o7!`)5A(u0W z3$<>nrq|*@9}KuL+Qt4giC}vR(G-LCc*mv)%XkY$X3&EyZni?f_;LtaC?m~;$JX~R zd2>~1k27ynAE4}#_p>vKn~L0T{)By3gh7{I#=cR!#uW+l4?cLlD{rXxu3SC%X9(rF zO>zB&5+WmdJHP`GwN#-5pz*)&M82d-n` z>v)|cl0%OZOw*c^2$~8T2Dp}w-W=B_7@CSGl5e;FxF0smTzI75OKQI8z_2t-8=qWs zo4@myud8LY%3&i;sUV|t5 zbMWu4mOH4Nyw~y8to((-Jh@}lIdxzO=$^3GUUzixopEU;ftN9H&??d=)qLmzS2YzG zq$Z>V<;BNENR2HI$9t0}gk;W5cFr>j()8wrrBzTEdXP{E+#$rPj-1V00U>R;A4+%1 zgZpm0*P5M9ISSQS{_6MBil)b9=(t8wywWqc{A;Eu4p@~ zD?SHo?zDWlHLbSST^rDB9P^n)*z$Jjw!vBHu50EYDv!7kX0^I82U+e3(=Nq zw61+I)7j?XJgtTuUkqriaiTU;+ixcMwjE>2t9)2TMMx9BLyO-;?SYUm2r8FCGn9(|R9 zx7Mv5Qr3^HVqCr9;W@JX1nDx+I3$=@5=!fK@WSA90h;NwYnx|;{H$~$M&)_YYGp9% zXwB04W(+r(Tc=&s9GhSm<4vf>Y1bScp-SLHR&-dt{fCiC@9yI8o9%O+@o7btEs8yv zee8Y+ttYMD=V?7y|6jM?LKb=R411tmUi30xLG>5N3|X}ur56MVDU*)xp7AOEKhZXa zRZ$snowhY1)6?pNO?h+zrpTM(0!C%wR_S-R!XSG`Mn-vWiR)YrRC4w9%S^e$nNE7; zRUY|hTzDxlPmwMvVacYP?8lqq9e>zjIl;$Gx-XNfIdgKg@#HvsPx8f&17yQ$$ z>MPT3$%0uuy`h$*4(`fLhy)qY!e%|2W{z`%lKC{K1%0qHL9pk`nz%dY)lh)1J`Ab(xB7FM0;p(J~35b6KHW9U~)Zn0J`Y7j6}(x zu11E!qEhnR8JjP6{aHI}OH{Y&to9YaUCPC_{)pQheKKz7a}afqrI25g;f_+WjnhCI z1uV-hf+0#&>_paKz#Rv-)Wr1~8<$NR<;BQsg%nLx`6=f^UV(AnzX>~upXo16vo?0Q z&I*}zpKpF~n&Nicn1%bu-E62uc%`sE|#~fIjV2vbYtYFCQxqW$qN9a9yP1u;w7#Jopi8n1GC+SAD(SDLY`&KQ-Nx5py#q z3Gio5YFUrRhb0n^A7C3?Tq{A8{cy5*Z%{c&`ckEHgHcAM0J}!}5O9@dEp4|u5_nTF zt!0ms6f2Pwud0P)<*2OdlZYe2@O-|WZ;88ZB;@y12(7|4#~N{jj0L%Y*8<>QC`fQ( zxRR9;<1uY1J9kz`Im8SuC#c|1rQsFPPetK|mrLlfk2<6nT5Ua+>hbUC$$EZgq~*XZ znqW%v|2eKl9(??H+NksPLcIx{6W=T>qFz*nJ2f~b#+(zKanOv<5`a&)__^T*ZHY31 z(C)hMxZSYi`=T!Jqj)gVUCDve*~lgv+e25pAVK_bDk@8fnZ|fPD-pmea>Si@ zaSqmlvS)>`&M%ksG#-!Nmx??4Y!eX-UHd;n*+~tN)MoZr*!T1j+)R;KrQ#0`W#Q3t z1;C2CM_!{LJuBQ#*Ra38E^8(2NUxU22#3>NyY_!>Oe9vWF_hz?07sbM)~@g+JCQEX zQE-Z!)1(C?S$vpWRB2<7(T^t9qBM?BcD5oq{*26wC16J@sBjtk68;w|8GlODA#;n& zq#5|mq~9*5ZG!_DbI1gF_>d!uL<&btB)i`bWnP?r$rQ|tR{R7hgfQF^M8VWzX}Z^n zHqqC31ax$rdETZnj-y^E1>}D8sro>8=COu`2@U~gFKNPsQ;ov>wMZw^;k`k)wZX}U&AJvx68c|5UXl0O>;ESINrf(uuB3=lFJ7`Dq zy-Sv|8#^@*#;+AG`7<9y2?t(&(vb75kzaw94jWmpvAK%)7e*gcY;YLKfvu@^cQ?T1 zM;2B&?U!z5vv-AJyl5g}UL3-)v_M@Sl_t}>Ce3QVWL*BHfU14{EuEM!GqbyPdBzj3 zIz9ko&x{qP#_Zma!e=3B{!4!wt#W)|Bsq|gS0hp&GR4u@5EVfCYrxIU$({3<#bIZv zEn{ny{GFwZ8{Poh=pNQ0(q`Cn)-25+Cc<2GfDeay$;h#>Jk|D$Z~5~~L}k{ZS)c4Pk-ERpOSu-^p@JIgW#>}N=T-8s1>Et@&-ark zuMq)=;IRNcHxbelRZ8=r{tBR5^+e-v29fZX>CweiP%c(UHXLyCEKH=GLa28Yt+1)FsMvVO$v{@d!D4uhc*uZxP+m>h5?=aK zgEFV+^zB!nv*OJUN3sX`<5Pi2h(3Da5!%=wGqRRyT7j+hkNZ-{8C914fXk|rHgADG zxdW5<=KkC8s$gs(Cu!!X15aA6gMmeN`Lzs<=@Rr>&|j!VdzN2r(p>ozkXl8KDwy2!OSRbc8(-fSG{vxlhri&~ zj(Y3ve#6AK9v?(enN1}9p!gI!-e@nqvrg+I%tLT9EJ7y>5)OO24W{qe+zc`~l1+za|4D}sPDN3=yj zKD-(p*h&5braGXErUidaDM zvn;K+VCv^s@;m0i3@A~(%_3t>;ZU@GQYx-U`>sr zy#|S*MDw6HVOJVTpKWn{|F@6-Z-WS`MO#+qlcd#Y>72B#1b(&mfIt_+=Z3+(T>?t$hv#pe~HQiJ#ecK9Cb z$GwP*KGVqTJb6#K&!17bW;(|u>`*T(E^(Q5mMZmH4pIVIr43)u}x{_#? z8vL(MQ`B@<>!8m*k$ytAUCxWCF=vAp5$0=nFQmZs*P+f1X=z*&iN(D{!3=#`xCK}b zc7oJDlSoz1HbtVM-+%;*;}E;?%8X3Hd;xFYzfk6DtZ}h!8|!u)taB!7%xL@kERh#+ z@;!#Z9;UAg(Sa*M>4d1s`NpiHDH!yLe{5NQ=-aP+=FFDVh&YLtm(`C;{p8&`H|`hN zRuYDNUC{inn_OccDsanfw@KhS9Q$^&Bxl@gn4`Hl@FKz5jEW*7WlRskL~^Bs45B5a z*%B2sNIFO7M0(P|)3K}<&xu^F^w=$dZmWU!#1vAtoWL1!pxS__Yq(A`bi=QTQg z$gg&tqpzzZ5=r>D)G{G#;IaL|gdM(+kubm!ho9MBsE2)R*im^`>SVxOK2{h`y&rEp zvXD1k1(Vb?{%4cm3QE74;GI1=^qmEtTC9N80!!yXk1|zWnJy{()0hv0v;M^Td^Amffp7Ji=2vWW0S!~V0=Zl{W=)7z%SI_=TtO*-lQBz&8idA4 zM?A-xn(lPS?UbxsafGxZ)Gzw@!42jPv!08@m~H2qugl5H@bNlTM)9C)JLiYF{Gk*6 zAzg2+-OBnnS(o|Nv6_`mW5l1n)(J;4Ulo(UakbV*=aJ(7U01Zjh{~06u4@Q`L77%a zxfoZ|nZA76_nq&-{7mWF1wLp@t>>p{Tfn!-wOwJ3w+e!+-((%ie&HSiQm$CdldJ6R@J#V!nMdOR_yJzI{HfO3Ck_L#I|GF)1;90Um#PmHsbiN3K@_o>eVCnaA) zkTyQY7%k`HN&ccNO4e#6kRZfn$!0roA7;@U=x!b9W~lKv@TsA2U5y7vE#L{Ao!wu+ z9a-;ZH+$TXk!9d(((AydP$|{ek$;jgrpLu~`H*+tJoyV%XvZ;Kp)cA>`DL`(`1qbs zt2M!AN=kej%l6i{zwOS>`5J0l9r1FlH#J4FHNEN+KR^bFN+kzQw>hl zYcoj4QAs@SC0Elrr7#`AA?dF8 z<=~LSqLS;2C`_mtt-3GC3a^Wlrnto;HO`}(5$4dRp@DaLZOunkwGI1z6^3Z!*r^HY zcvI(cUXuliY8m-l*^mXhXxQ1t~;;?E?citGzO%dMeo&(wr+6RI6zP zuE-cKuG4gfE&hdJ6vd-6X|!zg82zjCeisnx+8vK#;~#8MrnhC)cPj+aGRMTa3`C#D z1xpmZNPb6LJcph&nsq+^I{7h?E-kVXC6QZb)y4W;@>`HukiFa{Ju78b3_viDx;NU% zjY!hmBQEBiJL@7VrWK~ftOXGMK4Q7Kv|9?N*n*9s7AW`h#}**CE2qyCe=7APu;)M3 zSMGXtHQasSymwAW%Xj6sl2Y|Gh`BP0phdK81$fY4H)<;C%>=!dzn@9>{Ei`6339~T zk1VbpStf7O7?t3ap*|{@)}iZw=;=q3_OCRKEnISzW-WGpH&qr+kt(r_r$*mD0l$*= zr(w`kHbqiK2Qzm*!pGK4=1TGd;$t%qU9<&2E1g4U%^rcQnF5kpQ~LZeQLUg25D_5W z5MRy$B55&Uu_!B+9*H$XH3qvvYDT&JVFv->* z+S$2xYi_(S-O^rE8P-HeZhBgp$>}CVZ4Zs&jEq|9naWW(A$Olg&1>>BGzyCSl|VJ> zMWI3}ArsX!?jv_th&SFpiKo96;_M@lD#3u}zH{<+CjNfSOJig=Cc362QUv4Xu!bxMay@{M>ERoOFW0S%)hH3Ew?H zFRRY#Rk;he*1UmgA+D&+x-g2Xb&kIVO(3NQf2aDhF#%(()|{+j`AL*Q@mxcs2a4X~ zA`P^)0kHIm2iE5Bw6nC3Rl9>5ccoeaTdF;j$@ zN={HkW)+cc@g=mtul3Ms?~vfN%cUArHFgR3pFRhe)+czvQV&cHhO5 zfaMQSQOL9z0}fG)?V z%6+~Bj3y5cc86V2|DvswEh4SB+AGm05!x32NdbvgPvQiJg>wT8$4>yiT)5x%B?G-= zDA(oS_nK8(HzP2Hc z`#Zwpx0}4wm6ND3vY?4r{8J?{2l~o&;oakwo#J`DC?cfQn;^}e6~-E};fAEdG_Pf{ z#!$zm8fw2%>VMKXx7W1bItkQyqIpCgwY; z)_zO?evt;+%N|!%8GDFiqOx`<7o)N&5l;KH2c9#9sNn8jDDF`-aPMjzXhY!Wo4Ob@|e4!qv*Tev-9>_+}*!B z`R(jD*{{H_wDun6k5Pu>8|(U(Bc7-=5g86YOApGzg|c+2N@+Nb7|&cBB?s4n`JyZG zPgK=eh011#U3$cQ)E$J>JU3`_JU1K;*`uF->SO$u%yve2Ywj&1+ZB>Z*3fcJuU)CR z0Hx&erv~taww{z`o08_uLQl^_(<~DE`WWfcAv~d>)Ol8iTUhG#Ch<~i2c*B{p*y78 zqr}i@S5@3YPfAbHgirdHi1g2~=H|P`!Mp3($&Ze(>*|IXtDrRcIr(hTtrdf%73;GL%Z397ZJ)j0zhRx{&s1$FKf!+*RHMLEiQe%>n&EgH2u%C!PgGN8T@`^RmP3vkA z*c<&A=QzMpmv7_*O{_l-%}SzKUBl?G7BrchM#`Yi^PrW1gVR#WY^y`=lGQ)3^JK#^ z+BIsQ?mW8eK%4x!UZ02;eyl=;ys8ZtNL^!)GjgxPaB}suyw$hNowgQOeD^mpT=NIk zWOZ`PwuBGHY;#3NjKIlhZ7@gRa!rgTK~ae$BosRlZ*VQ_34J}pnBA$J1=e%F7RmI< zWK=P|L!XtX{p=DcE>G9%fC&sS=NhPFu7-P|&soqf$_}F`Us7HcTttKV5#~(3{dJq_ z0VzP}B@%)g$r%|_&-Qv0cV%2st7CY1 z-r2eqnf(`PwTCZ}4*q23_#6s$2OaJsoC9||^t*Wf?#r3kqnNEF;NdhTi ziTqVPz({fOy^=THyikbaD7hpaC$biuO3~VYM_p$5rWC)Y>SY$cwy-6fm+u5iQNLm# z#t%S`>5Lc|1CVZplsM@QzRmufeVpj~0LvA7AH@G>EoNB$jQ@^Fk|a zUH-@5kX4)T*Z2N7pXgPEw*DQ7;22m|N>$os%{u&=l=?;-x%kp`BhMlBObjsme`s)1 zu+1K&t#cZvUl-SwBB#KR1u$GPc#~D_g0c#KWUs?&%lqnG#=N%&o%6E;l_M40F^jD%%>+C>`p1jb(l2+0ZTKpktw&9# z^e*r0h0I#D2INK$E~}ZU&a&A<*4TG+Ii6{Oq+7OdZ!_<=8myqfM8Shzc@YdJ`=Pwi zxD(ZPtX$fEXGU|}pIY}ux3eQe#Jgei=al}h&cFcqO?sj7WdV-U=r9rh_dZ$Rrw+@# z=h9=rv|c&NC{1!DG?hpP)BTZMzBpBZa|p+0a_zgNo%Rox9K+raN3QRWM4(q;DtWms z5X=v`_++f&+s66Vs<+E$-U?iYM|e($i)o(v4c<~)i7 zBej!=6*;e#Xz_WLA83+jb)5V*6`fwmyWKA09uJt<4>ex>%Ytzxmo#hZ{=FD7`#g#B z<8nDDwhRDP0F7Tu9d$r&=QX@1tZ_9m*@uYJ18$w%xxpmCA%)r{+8_K24yM$%unODf zoZwa2dok!Y_sU7r)R+iWE(-Z*cxsq&b_$fN6uD7`3@L@ejb7>rJwd}YPo$DsL!*w) z6Y}ItW=Ix&eGdrbWk|9#V%A0m21l!119hLlz9pwEW5ZWhD~CQY6?s;nmNpy4{q*Sz z+qu$Iq_D7n*DcL1=^^(~@_KRS>Y6RwMLA2?V`0r;gvHOW)Gm*p8PzG7W&@vw1jYi= zM0;!(V~7fBqLNCY7Q?5flQCu~RIyxdNiYuP;5(pdh7!wjYf0LAhwMQl$AfJ2h5{0h z;*tD8(-Xy*UHpabRD`-f4VR(1wNRGM^;5|^za_V~nn>_9bh4^?0$0TP>8E07HiZkV zMZGRaKC9d4ldq=S5+<2x^$PF?-7^1ZyJVI2gVl&yHL{8`J~rN>gEgbezA>CnRE<7k zLLKVB`laEGm(>2?3$bmrm$q23%WZ;zM*)?_Ld77j5_tib5i6qh03Fyu@u1p2Iy?pO zxa@5{NcR8wyN~kN{t7^4v5^tu+Cg_;xwb*qO4hab7W#oLFgWUtG_i!pv}P zTj-;yH=<=71Bm=I%pBf?KXzBRG<}nH(~IGH@`}mZhTh%snH+3@$DQVXvY0Txrp3BK z|GP0cxq;^B1f1GREK6&N40R!OZt%9+m32TE<7`P>dcf_6c$R$nZRUHWHIDmc*Ro*j zpT~3sW;PK?Ra);ZCt*t$fw~7wWic zlU=~xBW=z&-!ie5L5-P0d6ovbN=!!&Py}sTh6N^)2SE(Y0cNrT8LdDxn+V-PuxzmmFq4D(cw9 zd5Edb06qPqgLfgR_=~y{wekH0q6>+YEB@U(xzq)^$(#Z|W^WbOP^1!nh&wC|yIFA| z77qir>3qD9KHl)6G=5MTO8Bz`z(PE>%!^1?fDxWSRu0U&mI%%rUXu2?I9es0Y8`m? ze)0Br{V1d97f^!vmVs_nGWD zuYBeM#zdBEs3O{&e!=#C|Hi@!kkh4hS@RIkP-a{S$|6UoW1e!XLA8wd4y^1<3p3;^ zIm}-X($b>TP@T8b&pFc&3NRBB#pV}0_`#26j)$hoE(kq_0L>29w@d#C$~UdeH_RDh z=aPJ7$$gZiv;ApwAue8DDa<~(=6uYF#v?dM)?!grVvAevf_d8kD zos%NPp;{UFnJS4LjSTbrapuuy4K(iX=LVr#+um+q@N{ZDJ@+1G&spPe#Y*TVP37E% z1iBqZ$4oR?KGW4xu~-P30Yq>tmjDM23*S!U=%scz@+ zoC&b6Ka1wswj3It#1GS-y-;nf>vCT{Y+gc|wM?WhX@0%B8rWvBi} zwB-5j7<-08U2kSZ5FcpK>Gb0)+R$v&whpV?d%&{PBAwAfh9lkT02pj2xhYiI-E$0t-)KA zw zFQI{#>e!$mbHvct%4@?7(zhcGgkZDm++)&L)$)Yc;RuyJyJI{g2R7)(X%wt)l>o$- z8D#t-+QZ{RFhI$VzX1W_#F%RZh4vHv2YLIKcI#Cs1y8jAx{ZW<|1x2o6=W3gFVjdw z?imoZR^pCdBaU)z_yc0DQJRDIQZXQrzfk_{_na8MP5|R62RVkQPh&RmC9QZ>=dvTt zB`9IkifT_vV>sViO32P^O9GVQ1VNnM@M8BrR)Zi*Tz>ed*C^w?d!G--#r)_iVE z-JngV=F-aaWOgY3v@7)OjM#Nfk>7+Sw6-0Yq{J0YFv;#u6R`d+45AKUHIqKN4?h7! z=KDlpbTtggpUL-YqQUEptK^8fbu$h!+|un(-h2zseD$J(xwUn1*SjKnl>50MJ@1pM z%6rLoRG){0EUB)IGSpvUWt5H2!A#Yn&aDA&j5|C?KR_<^r{BzWnCgtj30pgBAES`% zfpbNX#>$g~Y{ZVl^d*;zkz-GL{aO)PQZgH)Zzan0!?4=E^>uZDYO}U_SpQtWnYBRT zPgsYH!%>jdS>_&dl}hki6Rl)KSzR0_K?zkQdj2V;BP2B#A5rKtz?9R^k) zr%s>dtM>hX@RLe{$k2nH?#`qNQRd5&BiZDr!?f9a;_C9#cRxX}V*@j<^T zdgH^h?6rmk#_-3)ehsSxLSL&Q+e) ztx-eUrx;o?%gRS)v%fggX+6U~-;b6MKyFbnlqob-h_rRB`}eX+*UqzH*bmHIC;Vbp z;A-_Iw83CCt10O1hT9?iUd!~*KqvY{9vhUtiOguZ?&;&RHd#SQ zYK%VZrZw}G{v7RuO&=CwFcE@0&ab3fLy-WgjW7~uSmUHU3T3^T^w_PjulK;g$*NCn zKZN}Lj1FV0Er*xwF5z9ZHu)o(2D^RMD}JJ>Ws$nH zq;)a#-LcjI;e?OR{)EsB9l-NZpAeVn4zaxfM+~943xnQOm%aV{dMQS? zT-O#zSsq;M)RIM15Z{Oc{-yAk+Rk|dDcX+jwENBH)jU{vKsZYyvR<~SXa{DNMIJ4p zcmKG|L2euM@h11+4%JSuGI4cMXswE>gtn*{W5R@Za{m`no*i(;HaJsS+6MA~vmkGg z1@8LpkYvqik(!-LFyMBnCL3)aXbls@!+u>Ine9Uvgus%>R#~7_nZh@>zI8M$2JAFq zy~Wg>bX5An8xIQYsBiGteUAf4K@JCmvRMB6@)WEPw8U3E(mbY*2{Nc)U4Rl zo#PXpgSUw|ysqkJm(u)S0=B-KJumW#=ljVqi3*}1+J5zUjhlISJ1sRBIix`1>unJT z0?Hv$JWDq5%Z~D+rwniOHStWImXHwF7}@Drv2IXR0QL&1omRO$>4U}GpURq(8uh*s z<5z~+K$xS+&8Gx!XiB0lQ+Ka$cnOLRzxJ-W%Z>*U_s81_1lxWodmuQ?GVzw>WAL%R z;E>wUs?$ZqJLIElIh&;fYmT*CvF|k#?r%8o6IPmZ1Ods_UCfhI1wY5HI@|}uKPn3> zacEV3G&i1Ac;ERQCN(8gY5)lJ{P&9Uv`Bbe*m2DXIW8<_JgiLm(SSXcEY7F;wa@Ah zv))!4hw_v*d4i1m=6T4cN`Q|N*9C1wB0|}8_lrUbOVSbRWo{*YNUc)9vdukhHZeDD zD_7Q4O`NbdhQRX5x%<1dk@;Mk(o7-@Sbh9HnLq;y3N9X6sncU-_O*3y^z!S4(vP>4 zh+GIS5qgd4)*EoW<3->EfWeIkH&~H9=)LZ}!tT!+LECbkxVn0?E>G=}Vo;(0orp>w zNg(m$^K|?uad%#(dsGzqb#jEs;^WXOu>_|b0FtERuH;u<5B|{h*R5@CXr_M}z^M;^ z8Xkbs`L@aY>~xLqB(G5#`%_!Tg(fyW^WI{f_37Um1@4lQl2*~WJs#vwlPT3n^j&ZDg(IQ*X$Sellsl*A} ztuvH@238nc2Cb%eEM1VIEWH}4sGns)DYh#~`E>shbcKgOJINo#tY>B6jN51E=%`^N}MjcbMT#?G(}B>&qrlu(reLI?WLI8 zRR?s$a@DM}zfj#z@60hM@cighuywp{$*fgwTKOn*<`jLKI^rFcNRAirdhA&qc34m& z#Ud0)A|H)C9nU_%qqnaC0nNZpTY)V^B&EQA_lzr<+gsu3vfn~yK^FnSpwFHx(%CD9 zH2f=qexgSg^3 zBgv_4H^#j*)Yc;g$D}47PVX~^#{qAfsA_=Yed~&$U4)X9vOpk5(lx{B`**WwuxgE> z%D+sZ6X|gI`47*U$YP%u?K>LUyW;9(KLhK5no(X5hjOO$aEntFKa%@;x7QBOq>4ny zvY9z!PI7qMq%H}l> zy0c{WYva?9V$NNpgWQ`vqr5!_&sag8!Rm+H36 zrwrr__x9C0Iv+9Icfa6fxYTOu5K(25_eR;`T#wqocF%Z}7MPjQ2}G?*eh*}LuBkJU zBh!*uS}PEAwl??|;~e3;wM&6acJp&zGm#_I9Z5eEdM*(JjMOnG+avC1xePkjhTQ6%-kE0Z+B z4LwP+V(9y=FGknC!SU0h%~@+@N7fK9 z8S|xUc1um6SrdsiW?j_Puu|5VVeIFGYaD&()Rk*MgGQqtbuhB9W?VT=ToDyVtMKuu zsI%=YZsu^*P&jO=5;@|`HVV>w?q`$Wh+8D!H6bbySVB^0;pH*v9RXCiIg78GE1uO{ zjzh&DyBTn4v$h?NrwXh4fTk7?&M4`7a7d|=)0?Cg9DV*mDV%oD4K#Cf8ddmwlxVc9o39F(%q{X81zX~L{7&MnCF`{3 zIOF2HS93mamuozQPWiUVul)J{lf)X&yI53RHI#IC=KD!Q{d`-0`9bppp1O0a$j`eq}bV(eyA8Ix3musct# z^>dPNc z-c}z#?#vG#jX&(l&#zv&0j-O}U zErG)dxYRu^xh!cN1v(k5{xJy!MOzYo>WK%r80`@l(@bR|CJhXnO~Bj`OdBt`w6@`S znVC0~GZYM5hx*wWL_&#*EMt{h->Qg^^CfWgaM6=Rzf*0!n(z#N#dE9~2S7Er*FX?V z_io3AeaTT3u%=>!!KCrfconnLMLUUHG-jXrFoS6MpELw{S+f6U{gZl%Mt+>`mHWSJ z0aV*wvzAhb3csrX9tUd_OG4EcdJ|Q6@?W|+;$CejGBM!+Zzff-{{V=zH&t7~(`Fu| zI{F<`v^q{G^3;!Co|Rq zO*%;@M`q|Jpk(ig1E9g;P3SGr1VHb2cmg0@{^8LRI$7q;=(%rXY-qsJ<;yH)Sf1y) zgLgVJEoG$K5G(EpO;0$ODk&L$!=F*a$x$HI|3g&Bv@ZE$G}UT)kH)>sR((>PuTw_1 zNma5NN8%(7g>TeRe-kcbewaTjs02ngYBiA#Rj;UTq$tiWlf_|E&D+)Jy=!2Y+) zYqgbHV#&f1i=v~odT~w)M_nUQuJG@M3v|*$!=G&-Sj?-j#`Z$&hOa7;T+L8|uokPNN zHkC~Ea7=^0?XygEx&~46*Yj#Kwmbx_ytu?Zf6p=iqK-WQcLTL`!MHIx8Qk680#2>A zLyc3Cy-;#ooKv1+n7eA5bHG{*%=leceU?MQrAds3_9C|mOfCI)qawY=??x}bHE`%u zI3~?Ao{#S%$KOF^Z}Ygj$8K5TzMreeU9@HB7iLAYhI}TY(cf|_i`w6!ZgFeZ;3K@K zhoopjZ6+mJyhI$1C0hGTRzxS*=+vhyreA`-N#^v(ucm?xtKR0d6)AiPoh$yJ-SS_=n)ypLK~7wb{2>d&mJFcf}i5 zTIR|vTevubPDSjF6vKT;{o~}JXvAw@c;2gPgh&%qTExU>cSd@ga9<##K4n-N3vFEC z%wE-|Q}D{1^zzB9Wz?Gh6Tqg2<}GTUOr?*%cZz2=TWnJzbvZfSpqqA?YfNyog=-yt zdy%ff>xy`o+t|N0Sq$#m$aFcJT>G$|RGW6_DR0Ay^zaHYX+=JmDx(hl4-gi-G{HlR zW-?A-24A$t{xn3o0al+A*$I>Lucn4q+t;gdA4C*Z*Dqvo6igElvz?3@A_xgS zlvB$Py8)|rOEtq20$7t<5C;>vv>7V|ua4DUjqQ|?OB9S>EQg(xvIiQnT2l?7&V%7m zc-3zs&=#1ia(E}DEGU$f@s}7vQn+~K)GG7q_Qp1F*o3!Ie}jIn{ibqawF;nfbY)S} z>~*KDezi7aP`$xT9kr_KNlgJ2yuSld<%%&%ED_k*qLWk?y_`qKV3|KLA~u}>Sh3{app1IiJHp*dC>tX z_F*5Wz!IYv-%V-@7OarnI;3IWlhI&M0WMQCphX3MsTPvMvuVENhjT+9v6fhD04Y65 zYFd$Ert}!B`OIZ}W0~8nY$qpXaEHdE(zUNii^e_A)mPQ&Hb5^`Bk3vn#xX?~{IiDc z(L&9MtsU*mc{h`i>OVtW?&p%b_pqpJie!@z-`&W#WEd;VftcQK+xlwUwjL{)Y=ZbB4uziQi=+bd^w1fJ;t{0Sw{)RtZ-WVT9InyM@V>Al}S zKIF5V!;B7XhM#3J15CgGcZ=w3C3^9ruYa66cic1VRI`M>-fjY_K42Nh}22PI~hG$s;XJ=h)qU&UHrT$}a!yLr*9mETf0eogU!>@>60mz$F=^y_u(ln|(thO94VaOaYr}uK{A7@7fFm+)p(LEFE%shq~8hc1&Oh?g9h1Hn`xOCS+3=ai2kuCy4oX0;LF z{FGkoRMl)bV2)qf68YZA9vl7%eJX9UT1jjXMo>YOL7;Y~fce!Wy92Oov%+cbebuXzZn?E92H^#6x z-g-v5VCn2hA(NofYYi=#x9}`~8B6Y-H8Gy{oz^$h*PGy_>>$UowJ+rOq{T0Mj{`zdmED#+)7DEh+Z|xX zBa)l$(_LoakS$awAwT5F?v0sak7^N6^$RvXl>k$8-Qm{abbAFR7BHegDpzmcP90}P z9SmzLdU-7{5&5KHfX%$q~2Ld_+mvz1w_qX5_f4oIVbLEJM4h z?P|BYPI}C@gH*c{(y^KrE<)|+^sd27W4nD@V!`BvKxb^{8XEPhTJ^E-3ML$LR|M`H z@6Wngy%YD!NHji=(QbKa$?1@{YgcF=swfPJwcz;Gc~~AveC(`m5}3(X&xql=_(5<6p;&vjs#=(@&z5|rZDPox7Lp`qpzT6su|&WsOVw48T>5P zx*jjyZ-wMAf$j0eRr?sCxf*@md~rUZm|jkbyx7Lv?QjLa@%z$xR@v*^Sn#nE-Ja@f zcx&#)R6*2GEOD@5@$R{qjbzL&yL?>aQ$(%>8!`{qF3~U#)1LH)Uy$>uJbuur$^jl3 zvrCcgK@zQlU*^{6W9Is+JdTLGs?D=$iz`Z2Y8E{q#&SWm7%NWU=@Y`k)F%6jsY+Z6 zJWTVGSH(&Q^U3;sG2cn3W8S*(%LM19fiyLcsO*_WKBGy%pN^=;9yAJTF)BZ^w%M&t z1e591G%8VlT0~Kk0boaV#Lex584CrI*;hE~c;QUO^04!)ZFnviWn>EN(QPKxUTuep zR~Q7OhPn%+g*NcyC`Mib_KG+TXWp z9Kum1>;F-X=CyNMrT+NGx6GN9SCP;7PGN()w3Ry4b>r~VqT#IrRY|8k;|haVTTc{P zzM+xz!^Gsc#Cxp-{)>r>EhWux(`Yer#MS*{7O#+{rl+B;v1Wag{HYNGABEbOS~`+X zL5h2nhx7+r8Z1{e=>l}xRB+Pa*z&+#H_Phr{H!th``OGuhco%lD=PD9mYH1(avah8 zMjZ4%;rg7M9qnXaFu7RO1SCkqkMuWhsJMtSzaz?WL zJN(}txevK@GYd0~`*Qh(`d4(McxnpJqC4FZ4aNk1(Wq`4yIWd4(=}g{>M!37Lk7z| z;jIu<7gq{ni}n)-<%v2SO*NYxwird8G<0YVp7N`IGR+1PQ*YXZf|@&U%u->>&F4>p z@JzX}t>9EO!NI49a{mNaRWswMRYH0U0Um>#o#5l(1zlAOhcC)m`CIn}gL z7$xclv?@)KakCMukXb3oC{JdG%3|)u#-UgmrIXG};jv)G(}F`@(>fslKwv4o_&20K zvTolJ`e+I!tQXj4WY2&`m|-(IFyX~RH^Tm9q93|ar4H}k^jqW%NHW}K^T_^bo(oIN zCGg_8YCZ&dZ|%`}P!DC!k<3#^;L>gm>5xv_D+;D?l#NUh;cOWJ+XiJ5!CdifIEr$h zTcMyIVsB4gxXD*y)JfmpkM*H83|hdAbHNi*w7oq01RPeZzd&Bb<2+R9r_1LN^vb7n z0ms6=g;oLzj3)cp7ZV;rY`fwr)+k{mzj?`4j5VYIG8}F5LTA?!f@(}6xdX&h0Qo&N>!F$)6ST|0~0g?jwXd??! z^H|!N{cnIM&Nl${HvrQ4|GYFdD1dK_{|~}TQt~x_DT0B4+Y}Pj6!H(lmYRKCp{nK- z%e^sZ(IfcN`zp^lbAIqo!}^MXhd^VQ%45yTzFUIdbm^5Wn`M>RKSx!gzHP)lb9WOl z>^%Qrj!q{%UcE@cWB>jeB(*;7bJrO1CFGsvE6EfO?*R!3=O?X1IEvUHe_X6_&t`z= zDxKdF&k0$62;AAVY>LdYM$ZTSi#vM8I+qRaSlmg6_^-4&9rxXf&M~v zAR#RCSCjI&sf0oHiBbAO#sO2!2aDz8Wi1{xHMS1F;d0j)W)&BNC6%pJjJ(?WiT7&j zn5B_Aau$`!C6_`5A_m?3U7_Y(wgi>Wg+ne|s1wMv==3}~aJ7Xu==~A0SZ0^2K~sng zXA?ixMGn{Fth4DF6#saQ;SH*ZdHQNpW2H4N(G(ngnJ?@~Z0{oKv6P*0y^@nNZ=LdS z1xBHYekiQYon+gtT>PmfujnFOg0OwQabU$r5rj6hoCd!YrvEm^MB~roM5Jr-K@0y< zp3ZDhsEO^dxtP#6o zQbdGvxJMRuj1yS+4#xF%=1U{Fd+d5GRNtNBJAA{Ee(=MGS4-Y(yA0U)bMnEtKmh+= znq|ZFz_v?s4raqzo_z)pJty%RyqBDY-Tfj;XY6QHh8RPxgJAhAjWP3V)BuDHVZ zRL{jF(StV60!D$W`K)e-Nyh7JdolbRp$p!S*+1W_QZu;ApRMF@?PzpG zvHa9N=ID1>|95Gk8h?Q_!7E7O_V|=)EMa(lggMRsmk9*QEqfwnJ;C+SiS-0i7%^ig z-5YFJgi#O47~jW$JCAd7`0XU**{YCrWaCM3tzF6Fh$Qb+|1lQ~h3+^*F|UdIgAUZ7 zdeS@5XelEQ<|$BOg>mPONR&A{H>lu8y8mL~+@{wg?|Va7F$Zy%%2civUv6wGZ_NPT z=M$<>7uMvCuzc+A@K2$1e#?QcIW1oR$? zR<6x$r0EWfT@|9yGg(?Y{2M0V0n1?*Apg9&x+ckH$#gEqSYqhX%+twmkv|X~NCs+t zbbHC^C*ZH%i&FM4I{vy%;h5foh+h-ol8>poY`m9)PuoW3h|&`g+1w*ig_U6FigDVF zJ0N-z0WJLIXfZV|)Wx{U1Y@h9c=GmI1)ch-hoYXbBV1;f9u855a5MP!0>19O1=85& zaiS?&&|!hGwM~JEdolHOkcZU_Qf_QN#I>1Xr!PD(HLsD6{Q|-mQQ@od16UKAjKjdt zH})Fq-CpQsxTfDyh|bI|t^5EYPS}^GpOY4@X8ZBfN&L)QL0gVRPo4YX{{fEV2ew6W zc@4!QsdYbBxw_PCXhZn3t2)MRNesED6L4nQ+EfDNJJzXMke?MIw2f=-Y_*2xDFW=o zLAQ7NN2~ix(U6e@URGlJkeU-F>u6p>;q+QqY|+O#(jU?7_B;k;(F(0-1tuugOxnq! z;orsWcGnV6gUKYle%ij5IY&%p|2U_yh3BuAAX0GWYilL+pjY~11#>LO}8o~H~O8klkGBUBe zhA!)ejD+G_#PpX6+i@{vW8r4!cYSHS>r2}FPNmmN`2K$F9S^C-)q@9OBGBTpweo=- zqT?LB%$r$3d*c3JMPhW^2B`??x5eT35n}Mz__;mY!ayM*$p9Kvp!=9~J*w_$(C2)i zG<_~W3E6#j@qO{aM3c{nMVmi#2~x&OY$uyhBgz9-Gc3#ujTxOzRbrJ?k+Q)e8hv9( zQ#V|8?5(6$+#2#V-E6O6D_Z5JIR1?j%obLz^ybe@T_?tCiTI5sinaCk%CeGL0hKS5 zNxeC9p9dyOjJVH~kaiO`pD=U&my&5`N!syJRhDATYHYjd%4#?{4P=!h4p3J35PhBy zL3L(y*%c$qN*xv4;Z^_e$5OcBW~ERx{$QFp(>N@1W66)1+MLT%uo?^6UjG%}#@o-F zU{6PYs4LKQBZDZ(Kz?BB^umy+@+zZK2O#KD6eUudB-WX?sAXrDsO?6s=Xf^KMPqO1 zaF>H+18=CHva2~y@TVRCkuE+${4_l&Rt}HI{Jhn(?A!!-CW<}h<+N`Xe$M>|ux{u6 z4^Xev{(Qa9tMx)E0vPnHtyl0Z1i&3}R91!x{`vM5^08|Ww(lZtt+WyU0bF-}+m}^Y{HSY&AvF-eJH-tp5w))Uw!ecL$x_-irTkDzj zV(t`%*T=qZHCsP^nb-RlKx_3tj0UKoK;YW4nWSIg{&W5)v(xc#4xgnQqGJ-01}AqQ zs;&UYWxZ8jjuaVemn$hQ`(Ni^!OkCK&QvVP_No^CFRbe99XDf|vn?5z^PD2^6r5Cl zDS)v&nXVESb(cF-zVL~JHK;k&U=X;VQE~zN7~-F(msYW&Tc6V;@HR-|y70&Pln9QT z*W-#=XF_aLFqxC_FU<;mtEQ>_{mo%@TrU@#bO(hxoA?=yGhticCjEUM*<9VM_&{sG zFLE2o$siPZA@BA-GjTmtm(6V2IV7v&<`6~IE)JdX%#GCdzD`9)2@{@db`DSdwH=YT z*}K`g(zhL1?|x3m)%aMKIVAqW9ZsN%i_Z{`vaH!<0y7L7x$f9=CH+#9hk#s$A!m7_ zQG2#vQ)z@Eh05fep)(?e(7k+eTol~uSs}Lt+&9!MU(G&}js6tkumppGfT)N7O`9XZ zZ`zAe0f9?v_2M^UN-M0MUuMn>+-41Qyvhkv0B=6F4!2>+T{k>c5aLsy2Km9wiX5bV z7r)31X=*ZR85nmj?}LPwL=U^y2<&Qfo+q(UTj{b0yd*EF+Wr!kbP^-s@f@~DjVp3x z|53{YLsZOu*T_&Pvm}0oQu8~h(*GRwH($Ux6vC`okT^+{ely1%{Yu_NE*bi{<%8zg zo64!lg5O1cKXP1gW0jx%AHb~15h}zpH*eZzc~$Z)g&DQkVvRR>1Cp*X%9UJSM;G&@ zDRc3KHBCB1B}?&vU0JU(vx4y*V`Fv>l+~^2`*?^TiT_!04G-kD|p)|Um%9}_q{!P7D;0&cJ|o|s4byERtd!VGpQ6h z7Gc6!$&bO}Y@_<4xz8}e(L<(KOB3p)X?%2xc)Em{3w3SYpt~#!_bkQ(ryNVM za7!yoOzQ^Z;?lp#g1v^%tdsRa#1;$~vijW~W>lJ3Ldy*Z3m8*0YRWyPELd{GKfZs3 z-AEpCs{t&sE0I`UOLPpt(XzW-CqKQRcltC|&f)cwJ>7Rp)t zSe-2T%Oq*)PmOw4AVmtLzW<&Jd}3t=4zF{f#o|aj{o#5epr1K+Ac$oz+a{LYRMNKzKX@G2J;hAGXn{b4_Y);o@Y)*V?{i2 z)S7){LYVRMtdRI;VfsR7=$sluZ*o6d&4RrW=vIB!4IHDp(n=9Z6!TTA_(Rt4s*7<0 z1DOzD8At+L)Req7*_l$c+crw?rNdKM)m2>2GI3U0^lV8YqvK>3{qLpC_b6}8ItkPw zm2x${`Ic6}E}B?2QTm3 zlceYwU-9CoYCdYPD3bLypJ={MAydZa+*^?#dkeza8>kQ8!DK~O!-YdmGLwdK~CM|k(y~}#yB)zX9q2F{`n#7gp z$%^~)_(%=11&1U;;m1Z|#h3|atw09;m{1iWmeJ+`&G};u%T`4!Yg03e7rC&-tyWz zLCIoG^Z5Qf-5faVt=XblFxu_5X8b*4?@u~E*Z1WB)}_|my*sy+8?{a`}tmfcqCnI$=uFU!!-N)@$Kn-7z6RLGwF6&^K6;M8Of5P&A- z?^3AQ&t3M9SFqDfQIjBKvRwQ*yyO%FeJOp}dNP62h%jHQBCo}Cmo>@{r!}G!#Sm0F zEDgYHb$Zh&tn&fevf=|M&f3}0Df+D{JPzk*$vUFPpp5yvfq2PNLFt3U#|c$3%!qWi zt{I%VxF}|xiJIzoW{nXFTu6hhoJ&&WOWh&%UZcfYeX*w=jiIuv!ZhuCkoogEbp?hm zVf4+**ka*@ zC29eSn@>eby&%?3Fckt#90=2TOj3O*yE(_54JzuZKvGDRf1%32z9&BiT{djhdfWF< z?}?#9HwCsVlODG!k9yav>hHypUoeF>z?njx&)WIaDSP=ICY?b0qK9IF_Dx zuIFm&Vuyv6ptWg#2yPvGUUtAUO^;cX(+dV?XEv=ch_dc*y|PhyVy*h1G`0g~eyPix z+JU?#x`GSuJjPV{R8?g*5U(NLJzJYjnnEoG(P+9eq`gV`YgFk-H1b~pcH+NV8pHGg zNFD5=p!}O-pq@&@50(rsYjY&+nqgRUWV{m^VLqPS5)a;FhxVw;)%vz&dqcX;0&K;t zCblTPtoU{xviU0&+Y{m0@H|gT>rZ-kkPj{3-b}=-n}_`+yU>=4XgwaLN&RJ~4>jVs0LA z6KWkSKAbOS=!vnYLTjruFfuC!lE9xg>kpTqOndEh7bYLPRxXO|=Y>$JLPbZbb|(Er z9-V`NbR;MX_AauIaH@hU1ePF(T9ff9X?4*ka|t0sm%0q!o%%R^M#tH*@@QG(Kx;gP z((+DOE&V9k70)i$Y9H0rwl04&!8}=fLN|DxOE;=MhxxGb$Zy3uJgsTf zni#k4RM$rCJPd}SwmT5{Fmd%HFD6|!C!>C~pkU$^sC)N*ud#>fT!}dT2hpTyd!N?P zT%$ltvu<6L$|RLFu_F^pXPgocp$$E$UBSW)$s3=utRZRN%!fqJyU%SDJkQ4Y5rF^p zdLh2Y@{_Mm?fv@P;A+beL`4_F7h{@`jJSfZ-OKl-OeH}5$-zna<9e$JB`#g= z33bczvhDV|%H6!94|sA53W_Yb)0@EDamrY{O5CK;3*@V)coBc+OECe(v<9bw(+k!6 ziCkY-*epEPliS)8nxfODa?t&!BgIwt%G&}TV)zBaqMeo)nfPO9LClr9>pji_9ckU4 z@iu;9lf24K3=mS zGb*hQ6o=qinv<9QaN>Ui0n;{0AC_O?ke8^fIYW z5X}(3nyS{k?zO}0Wd{x#s{ZS5@+b$b3aLL=755LZKVxA5tB9pvH~*Z>RQEbu8p&A6 zUMS2Xs@2J=h4_M2TNe``rfGS1iMuDae#7?RwTg#IOQnQ3wtYbGJ{8Nbo$hz1@VzDoYGZB>!x2$-H6J5i|LD_1qmuN85-{1IMax!u-8sznVm zWd0g(rfQg>tL1T-HOE=GQY@_kZUE*a4dlMm2Z!rbU_`amZ* z^za#MRVd(aglKeDHZffxFws!CJYY-Bh-N03BLDKmHjJ3VfWBQ-izhC{jg=Sd&=umz zQQ?vo`}i*d=4V0ilGcJ~`$OLB*e=U zeO7GsE@ywtuHc^96L}$qjuA*qg|jdF{BPy5nr}pVZ}19ydceY$!`4rPXvt$!UHm%l zke@kjF;c6Sq__|^b(SFb)74U*;}W-EMUe(%x#LG{Z3XR&?L(3BHxd(ogLn1!b?nx z$?%z>OuMXAc)=R6_#pYORe)m=sXw~8z8|y%phKY`xrZuLgFNSV*l!dYD%REF? z;wZLZu&lE|#L8*n+9cb&AzWy|*H%%8kx;zdh6&;s=7U(j-hQ3s^QkeuCUQVZH6fKm z$xD;5+v^g05E$J2jpdlIRKia9-@p5t>bVgxP35dHvoQMCOGeL&gLX04#j_aoo@M;m zhSj#JvZ>x`3tF6f$JKf0CAA`5L;Yps_EQ7y9=Q1VjHHsy<(Nrybocy6e&oUZuU2<< zKM17Td`Y;}^~NwjHT1#Rl++w*ARFj7I`f{DP4VQt13M=DL=TiRe%uk*hGk73GcpDP z=-!p|{(Y8^C=$+Y0h4G;VhE#uu2awKM;6#=5By8sCC(k6`@gj*9p!8jKqu>DpAuw7 zdi}3@U7pA)d^8mw|E*U2*)wG|51Xs@`W)`rOm;Y`NxZg24Z|xrGjg)~oY}>l!Z7Hr z+v`O~xb-0g@*v=O$>_T3J)T2H2$N?bV!jj)HyIKCTxqse)HJS`JN*1Hb+ zIpk#o5n+^Nwo2P>j&glVc+qjwTwv5F*lui)!R%nTs12i;_pO#qdnl@`0!`tB>fw-G zota&eT3n|Y_J@~q+q^4&uXSF32;nF5MwAvix+)3zAL4JOJ%B>v@?-JSfQ5=2+3j{s z5y4nml*4qAvZEh~imCUQKHdWWPxSP(NST>`vV>x8`|Zy9$hEBl#;A1H`bO97VMbkQ zUf8*U9NtiFh9qoits2ECHJi{883q*og&cUE8g zq`h!c>ieAd*alMwi5aCQp`u{i_f_;UnCo z2`|eOw*$<8n1a+koPH1$4w<8e(FaNHOIwjr;jr%d!bc>PQj6;yz1yYTp5o+kQp2Mt zVk<}~z0*UzuE$-KSY;?!^~nKkFkgrI=7r19tP6qLJ}u=Rm6o1GK!HH4pcA`p6$L>r zhoHeV4aL@Y^!n_oxP7q|m}_(tG}VzM&HtTIH8QZ8k}I~UGB{$?oAOBLuU@T+d-f=I zWC{eIJD#2iAK!OV_VrOfPGHLXFvPjGGgto_UY`lT>GCR6I`;K;O?Du=l=kd z2#I@M!v6r*Ni#19Ux^f-hbR1-a3J=BWoTMtPx5P6tGE=1VE-Bf}wfG;{w61t= zaDNOs;t*+D11MDr8n!nvVcICe@iw)U!bdGP187JLohXM0^&B<}mYgy+=U7ep@{fOi zZ>H6Wul5=Ze0+^BeC+hP10;v``HV|G( zKw)e?cbjYb*R;HMpC@bbLk|$XFOy1cL44lPx`b(s-S!nZQ=`e#g(7j0W>;^+!}Su- z8NF?@k_eLzSmV?SvwGw{=jKl@KE|9enrN(o0>#$Ph)P*X>QB!2gN5fj0hQPCV+U7D zXte;0(wBib(*f{%nO4;zBO=MO*H~>a*y3(BqG(psdK>w)+QQt6 zx(En2ggE@H{7f8URNe3lbdmp(KV_Nrx(rf-BrIUiV2vLMbz)rkDqxDFRGbWA)G={)n3cHqP{s%aC zsxQRsI$_zXt+mHkrjnqyd6PrTd2jECTPX+qmRliTX+6w9Gw!kV8LI+r$~)|Ke|(?Y zDdUGfyBZqx!^k+!hBI~`H=V`a^d0_u=8 z!!E_}RG#Hi6-b1oUc~@2+ZMfQ1-a@OjW`6pm5f|j>{xgk)|x;+Ii@oHKkcD_RbD`C zP8`vGDKLdJJ%4^4C%;Z48r7Rfl;K64CZO-oLjbO-Ij zhqf78Q(MypEsz^SVV0kkf-N6z!b$DdnyJ`gvX0r21{|+XuUNcuy;(@<9D=@@?d;<=Bi#%L4wL7}AMxvfdun*I z3%PKeJ4a_8q~LlTM*sOn9^*zmI&H5*OiG3>K=In8v}0D5i!zC`vsW$9@-@5CDia3j zZ&KN%)eH~o&^wMGulY6PLSNamfm9Zyl0hHtZxYd*to*3|%VI|AL6Vy1yImj3BAgrS z)Vq^Pz;$m@2>O5(`xRw)|M8i;?`_uRbeRRYP!5smU7oT*#r(&la6oHVVG$&;u6OaJ z<8#S~ufwQc&_O)c#5fy&`9oPZwX;Hz|8e-9<7Q#~Q00s?-(Hox)P)_(qUbxi z!vi9s4LK9~yyUtwFM&#S()fvppl`c9e)!;~PbZ5;zj6vbJvgngwq(_lwV1#9$b47s zvoq#m3ZY9{Ea{#DS%P0mzgjNRW$3cWBGg(~gg<3?sWxvi-TF(n8g^0)&hT6>W3u2# zpL9VdlLUJ78YC5_3axXN`OJQx)((grjo^`CUNxd-0SUT z+3B?Vj25YOW9iOndv;~D&KH;J{&}90m%Qk=Z!fe%ODo9dPCm!-PQ=;`CO?_+c7}sh z8aW<=e(J^-v4BHZO0~Pg^w_uwvqequdqilXqlv1snou4+{+<%oz221FeWS~tYNzSB z;@n^3$Rqdq$o)Rgii&@~c}*Ta^$fb&U??(0|2?B`&(HY}p!6G4h1-zCygeQn&V> z86HjNtYbH3m0z4qs4TDPW+oU2Vyx08fofUp-2_#XDRJb!FDq^{_7p3$1eqUu&IC8> zoFR2?b@4j)=?llvL+ZzLK~9HtgATlDxdKpC)fD%pCe3%fyD;iK^4AfV?tcIsJ_=!; zWgGa?+Q{dSbU~796^oYQuw8FyBcCU~H7$RMd2txUe*ir3q{EjZ`{7bowX6=#UyU6b zM_rLsqPy~{fw@rT`G+xFe-jI*pa=T!H=zMG=njd`2xPK?z-@cGsy%5Zd z)h&se-7qWsPSTi$^e))gQ-*oX%vWn|2s`mVM_GW7G%Fk`2uee`SD?g1U(Rmu7+$wF zUc2Mua?73`nnw5=d%ndSzM@Vx?`0q21vMYeMA-6_m{jaQ=Nt8MR-92)2QxPuwbW)^ zGZ!;|WbS{;=qkp8&ELdJr80N6461gjO?t-TPDc27gOa2kP~M;3DC2NrT@v};D!@8HV)kI9amBnt^_&}a77|&}fJRp1my!T7?I=AV* zoNQgDzGeH=N^WvlBk8K-lqp0l{(96UBffnGmeQgs z_%U0Zj^~Q6sDtIbV#>;OG`%#bc!A~GgGODT-pPa7&6%?zy$P=)iJYI?PFNY8$;&wT zq`h|O?dSzi3Lm&hfPiID;9%Co32Da2>Jjnn|1R!zDi9~k(&58DBEwPPK%>@b2tQ#} z7#(M!8^GyslhpGBSTZDvN}LLG-sL&=lk>eCH#;02S(h1(Ya)u6Lq#`zlYw2b*0-r2 zr6%MxJB>L{0K_zyQZlg?sIxR<$7g&`$DJRZXoLSQF!qN%?xcD5ML4Qn;o5$_TfSH} z%Ci5wo2|iQEZe)9oFW~nYshopd{-puP14nJw_Jgw^SUlTnC}Dbl$zUdk(z0HPsDsc ze4=``k-G(=m%>HnxZoRn934)k>T-TD=5w}4`1%i9eD6(L=18dp&hdRus;=#{cF-1} zY-!%=m$&Scsb^4ryF+nY`C8K{^E^dS`{Q>SwZLrkhzw1^KYIeVe{R85@}`(}+_vG1 zlUg>z8K~)%GVD%%bIvdY)e6D`ll{1K8)}ux%|yE54uJljWZm?(7Ub^-8WD_ESM;!( zzf@E<{RO0q{{g~r{{skHFF)#^A->oAAuYBux?mbbhto1Zt2Zp_TWCHtwQ1f@bb^Kn zjp7PZ3cfJ4d;Pzt~i5$i=;qB zTAWXI%7Mz@n{3^r%tVv!BZp@X(ht$!AaS^LofNHfrN<+j)EoOeIWy~z&I>DCmAxGS?p6YNbdB?ZY`e zE!E%`sXNxi^+*#|#Tk3|S)WIpG3(N=e0}lu+Uc^Dxa91)H{|IXvO0j@u_=dEzbo*G zR#YXgY^)rAki<_sSZB4lF+nm59BwboEVA`V*SGM)e}|s&HE$f6uzz+c!(E_wn)_dL zopn%~(bwmLwLo!qcXx_AgrLD8xD^ZTl;XwRwYa-$p}4oW1Swv;P+Z#0@7;HIc6Vm; zSDtw$Gxy%-Cimo=@A-V|pjy4o*;H(sp%tPG4|;tq^Y22Kw8XR=9uhR1NkT;Blf_zv z$i4Z1iQ$B)t3sBNWwO;d!E`}|N%P#0N<{5OxPH8kl*~-!8YfqepIG4JVA_i z+ixf5CHyg2-N93Lb#i;%GBoBPQW1B?t*kI7z*G!dc0Hsj?gHl` zyBe@bgin-0!SP47+EQNEdTCl!E)_etu@nK()_Ip17$4ob8`~+Oz|%q1>c~{y1Vp~B zvlK#!A?1th;Csg`0GNzKZ*kAIsifI1`eNU>%2l#PU6~0hB#JYoYe@ZpmK>Oi zDfCNC=;OAIfOz|=y(n0vxwKUoLGr9EDJ-x2slsC=8;0855%ILd`6;#}fQm8PYjAZ^ zPyvBE&zLJiPe!#u5l0@wW+B?iIt|x(-AKj_7-QQb%+CDeHNvGXef{Zq8p{}@M50_q zTUVa2;NSRt?n2?h*owwfu5&%c+~lxR{}FPcfIa<~u78x-7$e96vV_E?1%rvl_3yDTA^Fi z@-Z|&tz>NA#A|{1ZZrxeA$snyGM|D{Ya&P5e&}@zA5}6U4Y!STUR3>)%#S2}-(&T` z<|ECYT7VF_u;X)y`WvpEdWRW9V|#=0CAg!-8_clLp7fd3?~FF46cX~K(pn{df`?E6@(vNY>>vEn?SR<(O4(n^8?! zg3|6kGxE|H%^k*kHj|qVBQd%;q`I?5T<6}IBNOxc6M=_GjY9N8_DgB}l*K@F5Kc$J za%0-(H8`MDu+4gL-2e1xV()K)_@hj$5;u{CYVo7IQE~A}a-Pjr89m+EFtD5#!jtH5 z{AVN_L1>1&en%UZA;CP$crY)1!$?K?*K2x*AGOpwgSoVm_0zNC9twtt6ofic!y(_d zz-eiP5p~JTgd{y()FUU{s89N+Jt7ps{BAn3-ium$4uHxsJ5AspF#21$?_JB0R-lvM z8?Y!>sHoR3H#BpQOG>mn7);W! z@+P0DQM*Ey}eoiEp0?9q!V`$j zQ{Jny8BTe*9lvkMBCu?s`To4Q;aloPj8-LVOUp+{(^E<~679tLS9@iBNDddDs2!Xo z-MlMWpgG<(o?G2UE#>UE_7KnEx&%|Q5?X)rbQ89voZbL_zi@i1FCw3Mgb!TzNrnHQ zH(hY4*sG{)A#DsM?Se9j;~ACF=Y58uG!^FF;I(Rtx1FMMx3_<`r|zA*kDlCa(T){H z)x`x?K8_yy5l;2}fSDWB_Ir)}avY=E`*xMrTT5C>;72nN^u@rVQTf2Aj0=3f> zR5IFs9*wY%dQ}zdu769&Bm<#pS4;=00S{pM1|=r-eoRoT4HAJ! z3rd1bhMZ)*RT@!1vWsR>IWV>Xj{R0OHA+>361{FOihm&~<~)}O^|x3zsO zTS2Rhj?49{?wibZ42?p<8O(_-W0@K4TpP> zygWk@7mR4m$3ZcU31E%O|7ICE>;0eCG}kpS53!Bq#t4W zWaXK-ED(?|-uGMM^HR6u*BS$^4)S+flBWlx14|A~Tt^)ETnqLF?!V4U=nQ)NyU2x2 zzNJVH#IRK|(w0IGQwA*Vi26kJ1d6{zePr;bj8Bq&?ja+{KW9KxOn|RU&F1~DJm;4v z;g#QsbwM|7@GIy`lCq|`?)3%hK`5}yY8l$W_$jJB zetD+WBd2e%sc_0OD$xs~pv>ZZJwi`PNcuQ6!f_BaQTQVTLw#qK`h{={wtcL7T=#eO z`O#&;N{#zaN-DzcNKf5t*-zv5mh+bWq6NbVj(GH(QL!FXi@lTt zHYb&ggoPF}KZjHZg?s2&8+DQ8Z0T%QP^~co!!m5a#~|bDJ^Tb@dz19`PUR7Yi^7E- zdQ)2LcAM?(32h&QIeU0RKBFz6Y zIixMT8bVv0U`b?U|G`=dJT>td54GE=8FTtar7)dCvRt|uNfI)m<&&M4*smFrqkA&! zF|O2(SEQbH+tujB^!UlkRPWqaQOCaZUr$d)MzRgU67<9z6GIUGG)e&?*(z;UHeN9w zR=R5Midr}RqOH4bcL}mg0$)fY)Yzx3KWg78O^J$acCU&!OsS_yU1n+(TvleB-a6JI zGXGiy)>eR)f2yYS2+BJDhNUPOmT>+9X-@0a@Gea&uS{nE;bzKE#7I>(9M^)_+MMI4kibGAoi1_#1-%-Cj(3D(X8IV`F$)K0VJDU94-umFhX&T>iT> zS-mO>43-Pj8AsX`>5D;>Tq7t0X@azL$|#Xb@rpH)08S~NWDCm}(b%*?wUV35aPZ)K zg~GRsD=oSAVMQgL(=5~mkN$)$rQXPm#s4&=0VuC_s?kqPDW?(bq&4%AneF1wn&2i)GG%O)@ca+)wQ)F ze??H~4TJHL_x27(GUr)N`L{P}9p!3LrVB37VssYebjSSA_+F5`E|=BjyI~;=A!l3D$FrMkvu_ne z%G(ois;Qxx_QP1cI=|~};EN24=EGUgYJ$ZbS9R`jitf&b@S&TzJ9&r3Hsdqx4Mlb_ zvJH!lMOzDh{7|+vrw2>~=6j9uvifBw4CcE_JYldnge7&ZS%vITKvt#j#Q@evV%yyG$Z%W=M&xU+;oyJ_Xq&1w#-g>>>L^9m}`Oi;l)QA5^XC(R3`y)*SR0wNx); zd#rtbkWEBu85&FoB`>fP{+uSXzQ*qsbS?4L>?-MH*$AH(@&(Zuz4-^IZUB8P`tSqAe13l+DvCP&9OryIW(kU{f``XXQ1v=l$}zN?7GmuEF3^=X^QW z?o-R46aq4}$c8V4uW>lACb@S$IB8f}am`cf)Rewe)7 zg3haPC>W=vX4UPNw7iH<%Rf9+x4*{gAR|{mnP!M_FXlv4bIwiJVj_64%)d*Toh*y` zq~!J+%j1NY);T%y>B`Wc;yO4!qS#c`gWgd6#Aa*Qr3enV`=itt|@QR(50bU1$YV^Vq#7hi!Jl?*lCOcpn5oruTS zw@GOGOF6d*jeou9T zY1QtaiK*&_A8XX4jg5{e=>~K+@s15BJB4;{{|bc#qbn# zQi*>4Izt%~g>bYjClyy0`%rGlwN1qNY_}_x9?#+M6g#kK@83^9%cfwPZ__FX2@lZq z6FuW#KUM~N>92~`PmyFPw9Du_^jb+FPk64EMsNDXCmt|(rT&iWstp~i4Wf_7yMlV_ zYxu`3WFmL)CgS}VjvJKN#HFSf>uNs#d`dStnK_cqM;({$ZgV)7CKu_UHaSK6!1rSo z9E*UfVzGt4;V|0C7T7WnxuG_R@3Dd8jFM5nx)5JwpdV%bDz?1weQzq6En-#NHw~69 zv};Bd()2LIl(1^uqBD&7(te~b4Eqf)@Xm;QNRuuGG)6f`4u$n+&IhXgy6JF9gF^NN z`SvQylJQa7#0Qij)(dyEP*MGp8+CGqT6M&kXw=`Umh2cG2o>JIoIO0g$jNghJ+U)v zR;QY){shSCUfi(TNN#X}Tz{umdv$eb_wa@Mq<63O2qt*TL;a4k+5a;8MYmV3vY3ys zUcr7%M}e1zRF<~UJW#~~5fv@!pefU#I&hd!*^0p&FHbs<^y2-fitQ;A)h=G;BNjIL z`4zy|)R|}_bb?BHl?HWt;vM_>OM#6FWfWLhW{EFQPZi&v9T+tH3_3OjRTa(+AnJ7d*1>BOV0!-VTGPV znfaEr>G84S@e#I53rjcn4MRd+qy&eQGevAAtp?0&T`5j~72Y_T5;72cbg*jDU!pfN zi=cl9WovxZTY>?7(<$Nk*@UCxt+LA^jZ+;r;eUXTJD2;jHIcVD^#1_!aqChGTyPTT z+07A8qy|@qetkg>Cl|5vS2nYHAIuL@wjUbyV9H%3>p84ec}e+hYVCTqr+j#<9Lp2T zbR{B8s4QpaRLR*pi@HUWqI(kD7r7;Nw-=7B!UuRt#^>Zu&nbJhrQ-@xQKpsYk!s&3 z24pHnl?C=8c%tnWgw?bR^7~lPVDPnl4_FqE)Z0U=WLfTJi)-UAM$^R#_Y9PB-_Po zzr&Nr!1rEC1Cq)!k81|R)!&EFcL^fZM=AtA4KsL*;PNyO1j>#60jPu!;%LUmZ`ar6 zx68OAXlbsbVaYrl@Jx0L&x{a@X~g;OrFa2t_Bp%XY+sYpj0qS{9g*!>)y_&Nq|saE z+oXnc@zv)8ev{O~zN?DxB=hR*#Qi1VVv#6!c-@>L59ep9t9@uf{XK3?-sc-c)&2hbO;YWM4U@A#{!S;1DiFz*g=P&w|-Co#&uuQ)+o zPG58`;I3T0&tL5X0(-`Y^4j(b^3R!3Nao+PA1Blr!KgyV<)>DikbOhvubqf3_~u); z5J%G-j$*S6n)s0u4cPsbI`aKvNRQnm`;`S^Yy;xmWqG-|8oQG{ zCmZ4aR1SYlG>MIDzavQa9gi=cXiW0VxX4!b)!+FxI^&3;J)B}*aqRikxF9-QyX zEEmb}jW_pG?QP$BbcCM=Q2C>26@L>0E>&Nla2O+d=9ERnC-@&r>6CO4@6*+i2dDV7 zl=LsHY@R+|SLH}6L!}833r^X8DAW6+-99=V20ZFHohX?#i2o{@|8DudLAoj^iNrrV zV#A_DcH?giq|zi?dd1A(TcfI2c$Cvjv)h$370X0LiX2S{20+BBKDFkUO6sO^F86SP zRDQWB-ZL!sGi-I{^or-2FWD=*MkO(8-Db~#nbXpBq_Z~7U41d>WARkj`5(wI=xO=pvJ58l(S=mh1Y~BxC6rwwF*&|fqYxSBlA3KiaA$afuA93T_25UJ4mSj- ze~e`+GqGUc2#Ca*Bl&t<<=?RObm&k6*Ri{_+DM*u3zdeeSMdd>r1_FlB0lXn*e@uj zIVd+-DzOPD#5j=&J1thWD|g$|$$pkUZd-D6@N6tOOW!g0C&~5FmZw|O3% z?Wj8n>Nc*PEo9sUS4*~@=BB|6_=QtwH=E%s#yhnXMP)Nn`6%hY9k0V+Y09+wt;CGB z`n`icf2u=hX=m4!W#(hR;mb3MGQB>Et(65vhVa;Mbo$SRasDZ(dx{twE^iLoyC6~N7ispbo-cPuICn##n ze7pghCC;x4ZTc4UXm@YlLa-bQGt~;-KPJSb`)X;PJ@A(hMHT`1qs^uNbUpx1f$5hT z(9gg24ryt?r0f%~MwO&5(h;@XeCa0+_WoLe^6Ybd5J;<|vU`5U_~#q-Qh?7n?9_V( z@?apr{R_CSANK83N**jT=7ODl{P%EiTN&;?3;p>AWjm~Y>B_HwI*3TEL(`eL?QjL> zo|!_8VVTJG{LRdPsM{5x7)k7ikzqtZ>G6Xwf~&!ZZLv{frkFch7oDjjA4_c|F8y4j z^fi7}zx?y;;xeb_L~(LgpDq4U-e;_)CWmWB_S;L1P>Ntv)9fhd$`*8GT zea{SBUnKrL=75;iNvt`wWcAD&qHpniTB==>t;5IlI}9}JnD3#@pS7I0Q&2xCNxHL3 z%8G_$=zJ{9J*sKIA9UkC;3}3$p>`CPsp-tC$Eg=%lk-a2WmVUjMR=~!W;^X%qOV7C zT8gBYsIT6~%M)8=o6=BpLRRTv0bXHzNowW)jbLeCS$?DWLzQwBbv@}x<L*7#}u5Lc0 zj@jYXnj_H&1GGYZ9`gxgQL1cJlJ2`oJvl2cJ<{><1>Y%WcA7b}zRnmJILsB*Yq$rY zk1rpR*<4&9dSnrD&J#-RG<1YH%s{ zI-4rZw}O(?stnalZg)n6h+S&zfvy82iW3DwY?EkTrGb;Qm*KW~)r#r_IwM+3L0H2c zzh<+ZZhOO&IPwyvVb!EP?I-QV5rS>*X{ss1v;!E(R|H#BgGgtRL&=ycQWclXUSD{3 zpJJ|TOB~x3CZvisoir+WX3xAOOxoJIdCshyv~V!MA0PdPTR=Ayl`4d(mF+1}Q_Xod z&^*Pk34w%m zMXP(ICt_5^Y183p5?;Ll565I$Zf;Krr3&oL*6tGnyaG}Dme-828D|l)KJU0*#NAg? zJl8^l*D#ri;v0n8f7A{NwzdWk9Y?56%E6+v@eBnB8Qk&O?Y}b|BDO2wWg`z)742}~ zNSsD5GpAI~3o6DfT%|)(*1cJ-`HbK)NDd;1O8IBx&!V=X7bknhp$&bS3VsWCT;i2! z#cmn#<~dby1zx~IYC+F_4N8}>sSWCRE~vX!86C`3*{&O!OPW8{?t zsaWOMN;%$#++Cg4Lh@?KFxCYl3`;p;!fDQk%+o{Z5)auT5!e3Z%{#h^ItaH- zdOeQLrAwC43-u#nuHQ{psM3nf2@aScAj3^T{V7BIl^P9n#MEN64s02J6Lz@9ZP-;Y z(gLv| zD+QEJ8{&Dg!OEfueyjf$Q}@EQ>|D(>`$gGjM$+0rjjKf=v;5;KSAg=Qv^hPcBN$A| z&Z?`^Z`gGNAk(Ga0AQzcnI+RaqU%e3f? z!v{n_UYw1mz%Z%Bl#MPMOaS2j)$vUC3XZiHZNiG!i*X?L$c_vew-{Q0%8%8d^IQc8 ze-72mx}1%9*`o-r3SWcP0Dl*df8$Yc|B}r1hu)DzYt=&KLg%^LII=w;oe>@NVEYq$ z@IB$#9?AD)!q)#}{_ANQxpm{s6gtmhTXT38p9n48cRr*WgV4sl>0233fkbh5W8U(q zuGd=6BOxqn4nA9T>wQ8ev)Z|q~XPBGIrb6(?}(WmRrqN18@k17A zlj@hVN935?$(skJz6*O)yOD>!0P}_@wa1Jy39H>hw+_aIw?(^gt4HZ8Up2r<3Le77 z+IabR#+>6#)*-#JxvT33=`p2z4q0!CHhA|;5;H&MFT4cSrB8lXC0d3umywrxDfX+! zv!xP?;pL}-`NBCZ!b@&I9U;P8$duY>hk(gK^X*cLGw6Qx3|MEMP;YtPg z2yI^mNJbolZA#RW|K4}~?YT|DL6Oz2@D#AZV2zJHkyp&%MOt~{oYxw0{bGw>a??Hn zC%O(t&}rJ)(D$XV8J{(?wIdE9K z&vF$xHKmIscabkFaB(U2yRNruHWfQ>KU9gp?Q%ZRQH;ZzfUwwO4xx8Z$EsqStvDcH zh+`riTU!2GV|y3enGyV^I#=>`$nG~6Ba6~92PET7{oy}fZa1{j8>FSL3E+b<~ysE{$4$%F(7^`+Nd$t5&;B2=M=HloSCK$<~pNu&% z)_7YCw3Nf{olk*%#rVu2f)d?xrnjnnlCa11P$!B*0c2!klZCMT$qc>SuNIUxcw= z_IsIsg6D(2>Egd26=>YMc)tAym=l9Ham_U*!bj2-q_H7|)}KP$|6-f|50KCO58wc= zo-lWq^k18cX8qMCSGlK=8ZdO^j@(ZB7<#}Jzb&LL>-0?ZBfs|Cz`%f%oVoZGH(8wx zT2MRDQEWRM9GWm~GyRr!Y#JXG)koMb|p`V`YR3mFI3uD6i9hwbuIn^L zCklCEi&cew8q=#JO%ghdLR%1Rc_w!ohBDSc6tu&2DR@aVYatd!ida3I|)nPi82JOSo~*d0ZRv#jd6uuT$!SQMLL+FQ~TQ zE2=x6pKVx<7LDeU9E(*Q5hewjjW+Kxt_(K{*y}Lv=tw)T)X*R+zNi13dxL3G-^OIW zoNBQKQ~a_vukUcQQQt8+E<}L{ioUtahHee+70`|t5gI!y>vb^EZ84S=T@(Fo=0vQU zPQ?!K@GaNpj9pnux+#1$Q20<{Rz*f{>8(Y_=xKxbV(aILb4KJazFiX)nLq z3FCz3n!D>4-!GCRIZIzxXD)tCvuIg?C^sBJb;oRW`2Py1Z)MPy_}Kzcia_d_sdMjD)-34bJ1&!4 z!7skQVX+@GawD2u;LmS8wQaSGmX?uoPKw8e9IvL$EI-T!!TJSr`pPTM7a4O+SBF<# z+!o=RsM0yJ+vwBZZDY~m^Gn{m8}<$R-R%ot#;3Wqe&+}(3_onS5Ug#$`*42D&?ycj zB_ashHaB#3U?Y~c1s2AOLok`7KVEU;%;>1Km{e9b@++Ma!UkRwBr(HkICWa?ufBi> zZ>Lv&6`Mx>SfZOm5Gh7qqd_V$OAU?_5366d8!cgx-P5(qCbuPKK^5G~ z3a144+nP~K8A~B$BdQ^h3}ciMVY2ED*<+fe#9}H+zquH40}bCJ;1-Y!saoIYVzs1~{d*FR?CXpgGY<^~O zqs_6^eqjzkpl0t3_NKUV&^d`m?4tx1>(-=Imx>tUF*Rw0$JOf>j~~xp=HrPHQP#X) zW^lb-$c#;Iv5u*!c-N_kQC&^3=F%$My3D>(tNvrKTghhVDU9eJ0Pnzey6!vV5ZD9D zYTMY6fa-j2D%{ehe01NLQZ-CHYF+6PdRO0>_FlYQ++Qt2rTQ6stf@1Y>p&l3r=rd} zx=ew3rMJRR#;(Lrg#1S$c(qe{R0m zUa4v}r#U}%aqh&ey$YTjTFg%f zzjf=v-Hi4~Xg^rLQ0rk@?~){ycMLUv9ujP<#?TZkZvg!Y4U#gASV6o_x!5f>&@r`% z4!j$EymA{wEl5g6OlW?BUMUA_X7C&+1w>du&Z_q)L-{UdgX&mJ&Z7Gf6W(zltewsE;)ON+58;`z zUW^3=;{26`9!WxMDh(5l-if%an|-N|0nAKs7Rm)ypf_=6agG!$Pk%Fb04-Yzokw~fk5 z^^xFbIecKFs8PW_hD+(0YC3CT{~4HpcQw2x8W};4ML4~4vJer2WeC#-?Vl8LgvFMGw+!D&6inqA9 zY&L2PFP^j6E22ooD}s78^@6nvHJmbUoPNCWF06pO`H!s7yE`1}kyP3&^3)gTQr_1ex!m!&%|d!+ zy62Swjven;MLKRL^xdLBW7FlitetImK@^peadvKo%@HE0tn;|PS7?XWR zC+bj>qL5K8zc5y}Vuz+vttP!ABiC$P-6viCu0MtZ-%Z~ouufCu_4*v9$C^2bJ=fLM zcBog`bK*A$-%|x-&iRZ$!>{-G=@n zi&YNbb-DNl2LK{&z35LNNrYiLZ`O-9H$s)}#6YQSDZRXsK`Kj!f|S9C!cZQtC`Lp)#{zksiNVZEn)N|1k7Py8il4pQzDgy|~?Z zSYOQ{M?}93TtK}ph8}H_)pkA!(ZM&>`#u6ONdPbQJr&F`RTHBRT*`DLbF`aK($J+gtPr#iQzMwD~w zWqdn7kqz;j^HgksH1cwmw^Ye1@Q&isS+NB=tooW|(dDixc2^;#H_em|f~MWeb>xJi zhnh8H9y1Yksmg@bsBqJ}sdvSBgzqs%ZroUQ^+F-&=m02ZYsMo|vu0mtX>y;7l6jJ@ zS^}S#6TEkXduaDH<+$4#&eJ_}JXBA{<>Sik*~)8jUz%jXLEuxz0SjvL1fwP$-~ujT zoB@jx-4_oivrKhh-Jwhh+5H?&Sg{;S^Av0Og|!+(Dh=8qST2en9Bx@*ftZFYkHlj- zc8ocwmN@$QVFXF*ViA+QyhG>W?-Gw_uITXQu zh3n__k76Dcs&Mnpd)jwuPs~vIhw`ur}~ zJJtAFB$d99~E}!7+>V9G8k>a4&8J;4& z_a4xAj~p^6QZnMm%-Y@l+c{YY)?q4k@#-?~e$aN~yi-xhn6%RKIk)2&H_37BbSko> zbI!(4Lru?R(O%164Aa?ECV7OIQASHS-=_#0fnDGKWy<&bn6--a8IY@$IShd-gVy-- z#4FAS7_mhshmZ=b8JB8Gfomf=neh$c;B#>7P?T^8y*a!4xO@YVAi;OGYVoN+N`b&V z;Cwq234tZ=&wkCX(_F7+zEi%58N2dFk1B-^#iVTE-DSj3Skk#R4?|HHGd3-CrB2XL zC0>$%2?!5?T$9G_p%3e}SbV4c`3d1!__fW59Gl-;@989Rt|g(jdReYaWMtIjc9IA- znMxEF)&~u$HF)T-wNc*3if`$XCtnp5n${yzJu~FkcOp1mc28G9a_>r1hV^c*{Dy)d zk)Qv3L=zl(XoMnP8(GE5s5N$O!N0IAwhV@C8;*t6_mBo53%&rz1gJ45 zaVcFC|FOlluf+TB${b|&UM@Br)(dUYFci2OP@1-~so`{}nO-<+LZJIG!AWnJ|2fa= z57~ZHSG1l&uTvK}Gc(!Dys<;rP&{${BX8$p2qB6f@3`8wN$q@{{;5rl?c^?A2$)q3 zv!U(9DK(wWPG`Vhc3N3h&yWY?>{OPS4Sv4Hb)VX!Pa(ijLS`ZGD*|by0mUwN3gpxB z^RdV;CriNh3z!vz>o-32?8A{-^8|jB+^r1l4DnL~r56=t-ADTQ{+)<9VG)Qirpt$GDxvnjL-GY~dOdn8LN!}> zxI#wp@kQ#pL=z@CR+Pe+H1bPq+^e)lbj^s>N*&(yKewq`+lEr_UM)-uD&O)j5w%`C z#o5$*{6g+qd*RO_Jza9o*_r>b*yB|%G4UD3X&}pgOg>Bo1Qj2g$`dn5)OybB=F6G7 zmgvjqL+h$3rRsk>0VRg{sB_n@9KpE3K&=&45+Jh3Rl;aZe(_vztH&94+G%mb_wYJ33IK{Z$tK^ z*o5Qvbk$DSZsF&7-7ecghl+=<)d`IrvxFpIAoO!^b$hJYTovZ#g{DJKaCm* zv7s$#)@;?Xl=2ipu4_IVWpcz^q5#-PPu?RUHN0Ht>#98Zu zh%0(KZJB%2;)e}7c6-C$xggvLX*_p>&iwQ|MJ8N6kv;=@t1GvPlC4Q+F5~lLb75!J zZq7yIX@6DkZ)v+pUkH~tXIU8#>R$AB@49!nsvN7@np?PcV|f`Z(sP@*CWiOVHVTCm zeCE-W_!2D57*m;W&%q88$SHOc)Ff;_r|R23Wqpon90AH`jEt!bstA~bm&*4r&GV+H z8YgMF&OE=3u3duZF7T!r_JpS?%c7?3V z$|b*Ie5FsT&YVar@~dPBRmB|cCX5D>zF+6i3&705lK9Y}(6PqZnA;)Ku4IRryd$t3 z9(4>g?xO!Z_#)f(9+bA5QO2qizi7Y2hT_dvq*yz!P@Pnn-z(wVgg1(X#fd@$o{Z*+ zjhAU*3I`8PaTRIG2NzFPRy|jGkob|tXuq{0z@QumAOXmA$zy=eBsT{J5Ro2`0dgDs z&v6~%f99#Y@}GHNzJ zUb-r+lm#tZ)#7&=KrCwzzT$A2lhTGq#DJrOn@+PKm##kwTZeNODL$l*N6_wlEMe(P zf){zth#=KSZ`xckSeF1e&t)8qRWu7mB9Zs|%Gct~AP@<&zt43BA-QY9YGfINGVx9z zfvlP;l`55TAzUa7@55`cl##Wy)i~9vpzURR#pP+Gj39djMijLaG}#yeEfA2Ap<+DQ z$b@vEBLb&4OqkW;;k;qDBYHlEt^MK9#jw?IGd`@cYt5?~D8a~U_-J=@xz=AG@zG|J z;q^Gf*UN;XXz%=TXlaiQ9^a6~GhyZD3i8yCv^*2|ix4gln+;}_ zbFZNtkev+=$xdZwxQvGX%B01I5m7{j7#YboIJQ&)^ag-~grLJ3i~*pd91y$1#rnJV zrJdhQPsWsi7N1sIHA0P#09_WRPz$G!GPsOY8c+s+^U45#XZ|aN62&9YC?V&Vn4oG( z0&UfkfcvLIT98#hRN^x3J=H&ea{$Q*`$64X^j!rsADk=4DIxBV)||O>!enQSdlm^% zCimo^3vHdE$CiyZPy{zmOh{Pr<>mlQ5|_l#pu`g5W7tL^3U%ED0_^PjfA&yTnTUKO ztNMR-@xU9F$Xy)x>ow^cs{ACfY6LCZrYxyYE7I*kB1RK{wM$38D!Fkz%4(MKi{^lz z?tmbVE@+9N+gg`D=rXEERr}K_mM>w6EQ37iQkSO2s~TQ$wwA{EtE{;u?Weg{Ww~?e zv4T-v&=o7HYzV4WQp6oANRw4satoe!0^HxuHaqjQ^W_st%yKTmcdBJ4D4+f)k+h^vyyFT1i8fcAfV8B*g5SYO0X6IUSlBvUKzlv z4^KkPZVXS<^@=!bA@iLu#cfM>eCQv1N)+?Vj1Cy|Qa3W*w>Fe_TDNr?^wLxlS)sge z>lDriNutoG>IzTE*`w?t0%)NFj5x)U3JYe4C+fQVw&X$Bc{bB9j;vH%UJx*TU3& z6Nxi~DKy2Z9l_ZeUIbu3(B`F#s$~(OTdvYoFHvrODzT$}ps;_oTMKjXJEV z7vV)G9k*+rGHSHP$X22a$g{~>J@H6kF}p%Cw8fh+FxAe0uO9b|RPLKWmO`_FAf>2# z6+}>FQQY%*eM^{&Nar5_64S@!t3P=9QvPG_Z(V?4FK9V`F(WU#d&BviP}ry2@UXkN z@pYy$$Qav|@2G<7RgSWlm}lI|?3>e0HN!WfPK>vX)m&Ee@65pby1R5+o26Fh6Af>M z?jSO(&YO4oeb1R)v@EjPsXws*VKE{KiGTAptzzaU9=$(B)GdfH16)M zjeBr+Xk3E3y9alN#t8)1;10oq2X}Irdi7-H&c9preog<|Rp-<>z0az>*Iw(B)=DiQ z&xX_4r7DLeHm|Hd^cqm$1l>BQ3sTd#O&*QPPSd-NIdK0jouFkCv#K1(kC>y3tB>?< z(O2^%dS1Sjy=4Pr-rt^Q#k|Qt=GkGi5RXHifct)}R3ta+Jf21S-_oDQlW9xq= z=YJ;W|Bu)Z$$R@D;&}u2^i}|QY<`K~K6?BIn0Ya7Jdak#f4#hbdg;p)nK^sw8!FfU zWzO`^mrdsIdR+}56L3mtGw1PZa-Zk$NQSFfY%o_wCexKE<_G%n(reQ#DJy_-<6(+hvZ-~Te?RZvQj2=q%`oUC0u5+Fc<%B!+Wj4jq= zn)T>_qqZD(ITO>sjoaPqBYZ=aH6*fp)3@%gkL1M1*Ak z+QE1d8I3pi{j}_1SqjdEDMmK)s19iG>yGZDlvyN z-aRpPB7bIB&cZYd!uVZx&&DgKLs%Q8qq@g3s6bERu61^Nb^JI2P(DPutqTi6PeN%U zzrRVrua$bngd;9?mPY4ExEK3t-ccwVKzSRb`uZMB<{Nke_GJ|a{My|x(Bx*KrZs(# z$?crj7)?fuy-}7Nii!SBSrsGm2ZaRIThBQ8{lSz!S1Q`)>zLP%Fa}zG}Zys79hUGk^-o#)Z1=zeJ+S>J{{Xzw%jx-+FA0;!5jNTPjZMcc&xRhSj{sP4d*;o z75rTdR$>e~O_Y9GU1IL_>Of7>Pr&dOAn?L8ZT$+aed*;T0n!(E?n!(w{~mPkCeuJk z(X?^3(vZQd$htVKG*(HzQVKPMCDp267u*pKH_X5y1QzN7pe;glWnW@uB6s}tbe|lpC!QBMCEJfUl;5rSH zQ5HCc%%Es0Zda<#2^h|2uG(1yaJ`t+fRbTXd(x~|$DxZfo0zgRXJHGLl(MPShj{w2Kbvq;r+aSbELwRBgY2O`WV7X9MKPpDiHEY{Tg_P7*X1C_ zpmMG7ehn`uvRXM=28vx-K>jn#A8*YxcB-ew1)KZy*3lDxA$&}Fmk0{EH3v7FihE|L z>*FNnh^RO@4a}r;`%Q7;n~@m0{*Vx#Pi#I1Jfd^@?1h3qt8|YAQ#NMPONeQn-rhg> z%{yaQ&|~7O)Ok|_qui>$VRhlqXY>=ID2bw&Gzp31n?2NNV^+1xSJDG>H`XTbO!tS9 zrt|S9ynKD!A}D=7}(XO%;$KQd$=@@VFBUB26EuDw8n%a>vDx$89Ni5&xiN#!|-4u@J4~`&xrRN zUbcD;kLkLOt@^-wd|Bp7_>QW}_|6p+8g^{*9OBuJVv#a;M2?ul^)&4_|1RzWXm#BI zM>ee4B#+k7H0q~Xw9xBV3ImKHkb$a$x*0va=tu2EJP{X?Im~f%;1q2}_EMQ)G)?M0 z_0gc|DiL~cxj0f&ySX8_(J6%y2boYOb3{gH`%(vkghCab(hId`ofQcu6-l@(o05?! z&CDq_`=T%VaCf)&zx9duKR-MUtE<@)fYz#H=e_f3#C8n52Hi%_b+ z#Ma+@tc24t{{S(kuL06^)UoAG+c8&8*P`16y>Gs+X6(}`kL_M;jbI=+tC@4_at?a} zDa3k+TXOb9Yi-EJ$_^WAABc2%Z8OsxB02I&DDgv1$9b0dltgeeNeTh&MFzsQeF*=y z4-k9{=%Z9+Ed{6q*KNLFrMy5!vN zqhG30raNT`IC`MD&#rr@8#ae(@G};D$5uQfk2ZN=ul2TxjYcWVvuybkF;`VM4j$H?$3A)UNDZ!FLa#lfU6UUxiLTo#HsnyefaVr{ zaVw*}`7)94yU!pn-M*|`Uv4fvF+lQddyS#fOt>YCytI;b^xMjt^y|p-#LT|!ua)uc zxBDYSl|$SN(*A&tW+v0h%lUL>!6XZ_NbsA>yKWPSfbkLLOTgthHczMAKLGpD+3V{+ zK*H$a_r^5u|9oxpXdlkDA{(3NLV$i^(N`$elXF)xRrE6&H0A?Lcz|yt7K{v}0sh5o z#O`%B&}s9nDF2xDb)um8=H}xIYK0Ell78Wv9nLT04-=Xn7P$80ulANAV^VX<>Ten3x6<0K?D=5|z^L0&%mBWkIltEJp zXY||XiR;(%B|8KHIB=64GdOnhR~myL-K9e6$A(MX%6~IWLg#=$NL9dbjR2^WC#Q#% z`~+@Tal#imTu(5&Ki0Ne+%;nbw*7I)Fjq)@Zf{$|T&4fix#2NHUZy9%lMigU54)mrG*D$uf`qA{hm8&zP73dE&J%`wky%}M})_}mM~ zDznCmif0b+S_!CRQbO|eHP?_&2;I(SaQApizcT{c*Mis8bf-tQ4BOy~6Drl&W5kBa;ndqg-g&+vhVCBWIeKzsykzuE$kNwjI;CFmwJ^hy+RC z4I9`Yd}J`7%#YgAf9az9_rv-l$L)9Fw+|sQ)~(0wwdy#ZT_>B1FADNKTKMGjNaa=- zDXvx&;Z{%v(d6G27S6tE%*s6q1;O^q@NXkGmI0? zBPx<r zIxg=QqItp)tx_d^fQaiEG)ynt3V;eoFmlB~^}e|c?QOT`%5eDzvAy=E%PmqFB`#{_ zElpbz3yj6qO4X$1mHVO(c@&(d<9OP!;Tw7>7vTG7O9L%X`UDd_NG+RheqjRaCjaB2 z5$Vv(=+C7dvfWx8@>+h|xH>aJv%kM5(O1wE>)%6J)euFEpcsv@!m;9!Qjpr#%oXYP z;q499S?xNpRh(H(K2DG)p^6<|YVT~4X`|>d3)RqW)Zjc~Ba(VaXr+avI;zz#d!-%v zlJasV1$kTy#y_s4DbY&@JXi*xHmuofZ<116nGuMim7~$8Bbg_&Q?t)QeEa9N6>NV^ zHT9Qgp7okh&GstlbzU52QZg2Zlo}>M9wA)0(ktK^o8_o>drCCrkkD%8XareJTSPD` z#Z`N2!*uDYCU$Is>ZHMKx8m@5Kz@9hFULBtjmUKpnjNLE2OFi|`i$I3%2fh{w7iei zj>#=fW5DbP+kxFi-sFh5KlUh;LkP)l@YUX|)5TFw49FllZdU(-i%(BPB*CE{f9B*8 zg$E=$zcPq$Y-uWKee3Nrna(ERCs2-fZfi2*5hLydNPQs#o*{E_pTIn_Q|*2 zSjC%Mszq^q`c`&Q-O?gMMe9w_A8f8RORg<_WtAjYpO-A5Y^N_g1YZ2%Pu5gbh5WVH zupOWw?CadnWq}rQ5bebKK^m*1>NI7fSp_|C%e_G@YUHh~ zp2gYEew!9G`27t1;U}frbG}3AeKzNul@C-}CY`u?*c{nB1p^lZT88Ih zA{3v4V$^}g$tNKHY0?qMbHq90b)?LRi<0G3~7K9ltO8nvO z1DVG9*Aa$Y)E}xIpJ{DKxu{v)v5Zv1LPW*6CMVbEdt?WtK52jlO*RX^>#ahaFn_2L z2X*gO+^A?(0*^5&9iI6k`yDnN+pA*MZl46Lky`Au18_%b73)@KGl|E9H0%aR#KutT z68P)*I4U-UqnvCVm7)jQ`&$OHBk`qa!TVhgDwn8s10gPIL}fZhbSb92LHeoNcum@u zCJcdXKAHAx7dqiKR=;E2D#17cd@gM+^Ukgx?7=1`uTTNxA028r ztmE^felD?=S+!3F?CXuK=P){97Y|CMe)9`{&BqS;C>=MXvhXo|VmA?!VMk?mz&Dxl z8^Hu2Ql9?9l%bz}lE$PW1#LO+n8zYJlc6Xb*cCDPYsXKj1!6L2;GQh&n#rQ*5&IpT zs2Aa)=oGoGk{=qjO*NZLlDV{Zv#PR{!i}G}tDoTVMBZl#A1*fEw>v$G`yBrP9xgw2 zVaTJKtIU9pzvIt_*9_peYbM6^y_3^$h}m#0MCWSOvPZV1Mu5ifeeH-xLa7_@wZto0 zg(bvFa^eIIRHr-a5N+ZWKotd%c!J&`D$DHloTn!2||#m0UKCe{kWS9naRpZ*^})*{)FNpT1s zRKq6CPm;yEjrJ5!&^@0(>2(XWeQ{Oh8^E@P6@)r-c{5p^pg8@>4%ZT*8uWGDxk20rtaQ2p7vEI!#_Eh4@+_QBNMFE zO5Fbk(5h2cc3dV+auI*ruZN-9O-jxB(MRuU z&C0xZ_7ZDz#+!L{rcD-;OzV4YzQR#1+n6+iLTY|_L@9nN)iUJ3d0DWXLq?@GVOrIU zhwGTffJ0;H=G7s)lvteGXqmnvJNX)MfJpZ^m;t1QkCCZ9&Al$RpGW6_Qa#;k#Qa7V zV%KAA?_hlPw76!jfTMiRL_5~H+faAElHw$rK+R^-%9Ppx{F6{7z$|!d9WN&!wC^$e z?zbWFAy!@!7^QQ~zlZuhxgl}+lv)#L_eLFfI68e4i23Ye;}89OKFll)Y`Ra@>Rd4M znc1vM^2Y4%Q(IB!eS!tk$0i5=iYyeas161O?J{C*u^%p<_7?O|1GyLoE8}&$#COc< zHMLVi97d-sLqgAP&}Tn1hn#R~FzQvEbv+q4{$a<4O&(>lR9A%D=UhobuKT$a1 zta~&a-c0+d!t{H`RNoYj*i!ZFJ4H~aJBqrG#^(W3`H1DuuI&V_Vp9FyVo$IQc4-+M zeYPB`^E^b{(`+Pa`_Z!pxeU*yyhdl*BBK2?F*G4@b15iQ7xNk#i ziv-5TE^`l~W4^6%Z_Z>DRbw=Vu+oho6iecY6jk>bBvHqa)#7yEDUgyW0N;f@j7GXc zmlA)uu9;{jmVw$PcUAY1ELKm7bm&AQYbKfZ$LJP>h4!+3yx7P}4fAs}IP*Ig z6kA;jmzB7b=gYNb!|$ZCg^sCka>GUh>xZOcW52dLov(7-naEAEmuG8?KD8hH$*K-_ zT%?G@VThaf%_hTo$9DAjR}IKISAG^jrR$J+E~KWfSNf#YaB}so7$n`6lNA+e)MAAa zJj;7moSOOkDNmY<=9)vExKm}92#9AuvaiCIf7$!hKA!h#H>%~5P<(XD%|WzQ7|FDf zC0FPCLXTF@r*#)uM#(^~E6Xt?S#}~Jb*O3I8Q@ye_WQz-_D??JAOE;!d%vdqS;4{e z+QK%(dq$}a0i%hSwAN$@)`W>Bf`OxqssLa;ht&8^#9o6)26sot`d%e{MZeT0d9(_n>(VkOPUjGEqN zMBn3puY_q8qRL*EZJq(I8(=KBG4+(2K{uvmH|W4^U^L^_)rg#nFox4bowiZ_0e%7A z>@%O8g87(%D%|Teoax?%Je7e0x9=q(7LCt=juS2wTv$^c>paI_6bYl8qbw~BfneDA z#Yics!mmo&h+a!rt1S!`&R64=6$iQu$2(Je`K~89jx(uCl1sAM^^P`4XX`VaO`O?E zxkOCOQCL(4V*OZ1!Pf&r;6D_0%HyDM?yJOL}IZ%Z>H|7fNF| z6)|@fp6s8cfv=i-t?_Q{i5cl&81jP2$v(}&)at#|4@6y?X)c5AN^~-T0Oem_x0#2k8@W$s69QMg0suNM{Jco@_IE!-|Rb& zaG`~EMaIf%yot{-6O&8k-@K_Byo0j6M58U65_0ZYhqh)HpG|X{FSZtkibvTU8y&6K zpf!hMX@MuHh4H5m!&Tb_RX@f}!f@`krS1ddZz@{W4VW~!LGjtTIA3Rsl_8&osvfWE zx;tb(oe)&fGQeF?N%ziI14;hQ}yQlmnPx~OhW zs{T#&&Fr&w?fJIMk-&d)>QORjGj)4#K(cI7DJRzyQTAFnzqUUyDxJ-Rp;i@Nex=Ut3UrB#knAnfFCoJMQtCakS^bfRa>7>^Q&il)+=4+EN%how zRbWk{3u%^CEJ8^aVbF(PPhNpw?ed<8rMVTxRZZr z<*rwSgGh^m-qTdQqwL^nTInj06oDR999d}N^=`lEb9$)ec#$|Ww0L9{8Gx232Q^13 z@H{v0qZH!s53psy#+NWqOI~;PfYNqR*6K)`WYE;grMX}<()4Vx`iLDbesT$7JIko$i_Jv@&W+i({?_(h zx>}%_)W`18*}JBcZAn|nm7MpDJ$2h}C1GO!S*hTJk3wPtVN+DcLQ?zm0pg*LCZlGP z6bK56Xb6gEhxdi|4G(k+vJLHy)2~%UN58hl+V9G_lQ>v5i`objf%F|s2j<4Um}KNz zGiKT>6Mk7H5&J@qxYufz4yny^(iiqvXUk`&l<_P7<{zF~y`=@_g+@jypzUJ@IuCgLV40=o57ha{FaEycO? z)s;Qyjq5g~YzpIz&GbM9!lND!c2lv>juWoT-iGR{dr3PUI3`F^ zVQP=D;UqHh%wl`FR%l=e6w|OPQ_=1sucfH+=SbP&jo3n>S3C*1>L#NZ5CeKjp+fmt z&kVlFbk=^>T3{DX>QlIDwAaRnj-;WU%0u>gf~x1uP5-0ERay5k4Yn2Y4x!50<|$n) z-O@V!E8C97UeN@SW;XI3hhalJm`sNL9f1S%>p7i2m1dkbN@A(W!Vz+sU?;pgSSKO0 z?P`mtRqe*5YT6$|-;kf%D+QmXoVxu~|DJheHVmdH6(Vzks5|jxXg;sShwVObO&|}m zO;GZ@?p|5wWpzzGgqz6O60+;-+etuG=QRl^K33SMjHl7)gJy9!J_EB|6zWQX5%``h z`Usx(8Mf57RHa%B**<(xn1bxpuu@UpCNm=z&)3fYfbFgP+<=p;dOk`7%L9uU6UE~} zhPI_9wKj(XLjMH8(~8^V`YN9rU(TjehL}RWBv<6nT9r-p+`MsXy@x2fj3t9 zU!UNN>sOKUk1c$^9M`}<=(v(~(X7XGk@#7bkQH_z%3nBrrs76f^J;4f1Ju!qYV{BM zXS3xRy;+T#9{H=c%Qq_}2(@PzG-he7#*gS}5#*tBm&IJ=sgf^&PW_VIakx6GJoQji zt~pe$uNf+&4ph*K$zqLg$cS%`wWUF|8+x`yk0FzuaFzzHhPmAxQ1Gx z`+~b3vtq2wA7dVusz=ggfK8l(qs_L?7(Wcb=7Uv~7W1nv2)nrKz#dNQp;yxX2OyuR z6`^$`^4SYh#?&>iqI)5=Is2^E*nF2oi_S5-7+r0qyqen>@awqK{!15E0P*Y`pWkqD zb&&~1#aH~mxFib}qT&C`A$*l9@$1#6$6w&F6NC=y1I&oVIpy!$=4xyo&*HSOTdCvB@USM4M#I`XFvhO0!br8r0~6Z+>>w!-ix!+&li zEVp9i(`@i=9*MR%N+Jy31Qm32+wkc(7#)@DSY(&$6u3&yp#gy2fJ{koYJ6k1p0CC5kREe#uz>3tMx^Yk_BDvr>xqJ>XA&<)}|D4unHa?>ou7vNKyn`byb zt;A%+qagAbN&(8Cy#`B>TC6xkRszQ^PoUcV0orvZ*8+aQH%y$!$k*WrC@MHq{R70B zX1GgO!pM@_Z(PnB%k&IK765w9YRd|sluQ2Z>;e(wYQ@f$YQkyd`F}c$vS2c2#CkGL z+1Dxg>~Xs|oN5U;#vgTzr++7t!N~DmLdDU%dJJn@DuR`1cjH)K$zCUL(m7Q&b6_~z zfaO|TT%RaASe-J{jI{!yB2|M=BuFe~^Rp%=Ea0UG$`X>ZhuIHU(aMw6-Pca;c6dVa zPl$e~p|NbPduI#^^@I%FI{OKYtoJ!NzTHSYQ=A)GRd@>pHl8co$r%0+oKtr}I&^fq zTKuyNsy47uPL6lHR{H6V?Nh83pPSTy!jScOq5>A9%;bwKDxa5aBEH0Rg2W@dI-VrA zhwAVdC^Eq`T~^WL?9-VlTf`Xv{eE(}_6h71aWr?9X@qT(WNN!<@10g&{*4Kfd-R(6jtu67%a5e#n$zG z?z3HC`eh!BGe%S~rDnu+mJ|4l@a`{%3vj$Gm6sJiDK&aDsTH(W?r1JFz~k)Bx+Qld zxr}K+L_ni_%fimsJ5lCrrkKYOL_Uz<4AG#B_Eu4@{e~Xut)Pv78L-x(as8A-9fudk z3A=iU^3>_wTykx)%XSstW=vbku^;BUznME8kj&F@PD9mp&zhgmrNG?!4ZoocXFN2y zs&{hk#iNyfqbHAJw`=YUQ(Qk&4Yf_Aea|Wj8iu!_iL!h^7c51_D|5Rp?KT6 zlRrvAj-{7>0qhA`AJ6B>&9;?XA89$qt77Vh{nZ&6>*QeW@0v_=2zAQx6q+EbmHP&b=KTUAg(pjBe=rm62C0At`dInHzNPgealBF(Hln zZMPK+{uR?FIb-osr@e)qorZ9}4r_)&*?Ngn42upS*1`2{`27ARlab#s38^-tjXEaM zHU$0_l6<#FQ!_@7HzD*aq@bht_|el)PzVi5%BrEGlYRhmDepf_l=|K~ln4I-x^0{; zD2g)-KYWJOzyAYxEBphHb;Nm$!@&Cs+y@3w(Ipw@gm&MK6c1ZuSabs0t3sL#91!#` zVEK1DI!mh^nJ#SwCWP|pJn1*J@3Z5$ceo9_@Nba%O*P8*IS^9ZCNT6O=j(vz>+}vS zsqCq=G1dfg7;xvYW_;P5_YFMcB4^Sc;ujGgH2)N;8#S}6*pS1TXlF%(8jYY`Xfk8m z9W(&?%ZF6N8H&U5f4*3wIv7d-dwaWUK>~7?1KC4;yz%=T1KhQ+;RliAm*jmarR`Ks zFe~CIUO!sv1;0qPMRa!VF(ZFp;r_e?MV1O|NJEZ8Z;)NN5MmT8h?r@*VZlf-02m-+CZQCTO@}G$J(ad2&jsaT%yz=7THpg zC{HD4lLnA+me=x)-<#B$8M|O!W2*^28we(C(`ANy#wsZ_VUY-a4UZE4CLiST0Stm+ z91TV`<>Cv|Q0epO{)pUnGiNB&k&6h(-s^S*#CfKl*-9gq{H=n6cX) zx5Aq^c|IVhPW9scF$4aEtP(zTocM1>UH_7NjB@!D3b_p#niN~CRdC&1=tJ3copto2 zf3$zhnELp5I(?{tPesYG*(Zxl=0D0G9;~a4AUSH49oFFKb<76nVAB)vJUKeK7nGjn z$cTX77%p3zeUAnI0HjmdQ!`50IB$?!wd8km=^k^|1A3)R%IR*b&FMOI&oemL-_!K& zg91s`DX1?dQ?Tw0FZZM_ANJel+mH`s8{D1y>6POGF*e3JQp-*YttVIJWohAGI*vQ+ z6!kMiIuZ9g&%})^XQyk25A+ItJd)+_^#Uhr6L>LUj%&_d0gzX)a+n

#{?7;cam8 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

QpokSCg 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�KR2w_-i^V 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 literal 108914 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