From 8205ab9689c71f6bfc28a446fd96dfd89b087c1d Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Thu, 2 Jan 2025 22:47:06 +0000 Subject: [PATCH 01/24] Update format.yml --- .github/workflows/format.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index dbf9a78bb..e1490bc0f 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -12,14 +12,6 @@ jobs: format-code: runs-on: ubuntu-latest steps: - - name: Retrieve secrets from Keeper - id: ksecrets - uses: Keeper-Security/ksm-action@master - with: - keeper-secret-config: ${{ secrets.KSM_CONFIG }} - secrets: |- - v2h4jKiZlJywDSoKzRMnRw/field/Access Token > env:PAT # Fetch PAT and store in environment variable - - name: Checkout code uses: actions/checkout@v4 with: @@ -58,8 +50,6 @@ jobs: done - name: Commit and push changes - env: - PAT: ${{ env.PAT }} # Use PAT fetched from Keeper run: | HAS_CHANGES=$(git diff --staged --name-only) if [ ${#HAS_CHANGES} -gt 0 ]; then @@ -68,5 +58,5 @@ jobs: # Commit changes git commit -m '[Automated Commit] Format Codebase' # Use the PAT to push changes - git push https://x-access-token:${PAT}@github.com/${{ github.repository }} HEAD:${{ github.ref_name }} + git push fi From 4d6f842328c8c1961349ffa0757c958747f15f64 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 20:29:56 +0530 Subject: [PATCH 02/24] Added submit-mlperf-results script for auto upload of mlperf results --- script/submit-mlperf-results/_cm.yaml | 22 +++ script/submit-mlperf-results/customize.py | 184 ++++++++++++++++++++++ 2 files changed, 206 insertions(+) create mode 100644 script/submit-mlperf-results/_cm.yaml create mode 100644 script/submit-mlperf-results/customize.py diff --git a/script/submit-mlperf-results/_cm.yaml b/script/submit-mlperf-results/_cm.yaml new file mode 100644 index 000000000..84ae4d6bf --- /dev/null +++ b/script/submit-mlperf-results/_cm.yaml @@ -0,0 +1,22 @@ +alias: submit-mlperf-results +automation_alias: script +automation_uid: 5b4e0237da074764 +category: MLPerf benchmark support +default_env: + CM_MLPERF_SUBMISSION_URL: https://submissions-ui.mlcommons.org + +input_mapping: + input: CM_MLPERF_SUBMISSION_FILENAME + submitter_id: CM_MLPERF_SUBMITTER_ID +tags: +- submit +- mlperf +- results +- mlperf-results +- publish-results +- submission +uid: cc01f0a82bef4216 +variations: + inference: + env: + CM_MLPERF_BENCHMARK: "Inference" diff --git a/script/submit-mlperf-results/customize.py b/script/submit-mlperf-results/customize.py new file mode 100644 index 000000000..819539239 --- /dev/null +++ b/script/submit-mlperf-results/customize.py @@ -0,0 +1,184 @@ +import requests +from cmind import utils +import cmind as cm +import os +import json + +def preprocess(i): + + os_info = i['os_info'] + env = i['env'] + meta = i['meta'] + automation = i['automation'] + + server = env['CM_MLPERF_SUBMISSION_URL'] + benchmark = env['CM_MLPERF_BENCHMARK'] + submitter_id = env['CM_MLPERF_SUBMITTER_ID'] + filename = env['CM_MLPERF_SUBMISSION_FILENAME'] + + r = get_signed_url(server, benchmark, submitter_id, filename) + if r['return'] > 0: + return r + + signed_url = r['signed_url'] + submission_id = r['submission_id'] + + #print(signed_url) + #print(submission_id) + r = upload_file_to_signed_url(filename, signed_url) + if r['return'] > 0: + return r + + r = trigger_submission_checker(server, submitter_id, benchmark, submission_id) + if r['return'] > 0: + return r + + return {'return': 0} + +def get_signed_url(server, benchmark, submitter_id, filename): + # Define the URL + url = f"{server}/index/url" + + # Define the headers + headers = { + "Content-Type": "application/json" + } + + # Define the payload + payload = { + "submitter_id": submitter_id, + "benchmark": benchmark, + "filename": filename + } + + try: + # Make the POST request + response = requests.post(url, json=payload, headers=headers) + + # Check the response status + if response.status_code == 200: + #print("Request successful!") + #print("Response:", response.json()) + pass + else: + #print(f"Request failed with status code {response.status_code}") + #print("Response:", response.text) + pass + + except requests.exceptions.RequestException as e: + return {"return": 1, "error": f"An error occurred in connecting to the server: {e}"} + + response_json = response.json() + #print(response_json) + #response = json.loads(response_json) + try: + signed_url = response_json['signed_url'] + submission_id = response_json['submission_id'] + except Exception as e: + return {"return": 1, "error": f"An error occurred while processing the response: {e}"} + + return {'return': 0, 'signed_url': signed_url, 'submission_id': submission_id } + + +def upload_file_to_signed_url(file_path, signed_url): + """ + Uploads a file to a signed URL using HTTP PUT. + + Parameters: + file_path (str): The path to the file you want to upload. + signed_url (str): The pre-signed URL for uploading the file. + + Returns: + dict: A dictionary with 'status_code' and 'response' keys. + """ + headers = { + 'Content-Type': 'application/octet-stream', + 'Access-Control-Allow-Headers': '*' + } + + try: + # Open the file in binary mode + with open(file_path, 'rb') as file: + response = requests.put( + signed_url, + data=file, + headers=headers + ) + + if response.status_code in [200, 201, 204]: + print("File uploaded successfully!") + return{ + 'return': 0 + } + else: + print(f"Failed to upload file. Status code: {response.status_code}") + print("Response:", response.text) + + return{ + 'return': response.status_code, + 'error': response.text + } + + except FileNotFoundError: + print("Error: File not found.") + return { + 'return': 400, + 'error': f'''File {file_path} not found''' + } + + except requests.exceptions.RequestException as e: + print(f"Request failed: {e}") + return { + 'return': 500, + 'error': str(e) + } + +def trigger_submission_checker(server_url, submitter_id, benchmark, submission_id): + """ + Sends a POST request with URL-encoded form data. + + Parameters: + server_url (str): The server endpoint URL (e.g., https://example.com/index). + submitter_id (str): The ID of the submitter. + benchmark (str): The benchmark identifier. + submission_id (str): The submission ID. + + Returns: + dict: A dictionary containing status code and response content. + """ + url = f"{server_url}/index" + headers = { + "Content-Type": "application/x-www-form-urlencoded" + } + payload = { + "submitter_id": submitter_id, + "benchmark": benchmark, + "submission_id": submission_id + } + + try: + # Make the POST request with URL-encoded data + response = requests.post(url, data=payload, headers=headers) + + if response.ok: + print("Request successful!") + pass + else: + print(f"Request failed with status code: {response.status_code}") + print("Response:", response.text) + + return { + "return": 0, + "response": response.text + } + + except requests.exceptions.RequestException as e: + print("An error occurred:", e) + return { + "return": 500, + "error": str(e) + } + + +def postprocess(i): + return {'return': 0} From 8d1d8b7bedc6ecbcc50b848ccbd2506b4a047e19 Mon Sep 17 00:00:00 2001 From: mlcommons-bot Date: Fri, 3 Jan 2025 15:00:15 +0000 Subject: [PATCH 03/24] [Automated Commit] Format Codebase --- script/submit-mlperf-results/customize.py | 55 +++++++++++++---------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/script/submit-mlperf-results/customize.py b/script/submit-mlperf-results/customize.py index 819539239..d00b4c285 100644 --- a/script/submit-mlperf-results/customize.py +++ b/script/submit-mlperf-results/customize.py @@ -4,6 +4,7 @@ import os import json + def preprocess(i): os_info = i['os_info'] @@ -15,7 +16,7 @@ def preprocess(i): benchmark = env['CM_MLPERF_BENCHMARK'] submitter_id = env['CM_MLPERF_SUBMITTER_ID'] filename = env['CM_MLPERF_SUBMISSION_FILENAME'] - + r = get_signed_url(server, benchmark, submitter_id, filename) if r['return'] > 0: return r @@ -23,18 +24,20 @@ def preprocess(i): signed_url = r['signed_url'] submission_id = r['submission_id'] - #print(signed_url) - #print(submission_id) + # print(signed_url) + # print(submission_id) r = upload_file_to_signed_url(filename, signed_url) if r['return'] > 0: return r - r = trigger_submission_checker(server, submitter_id, benchmark, submission_id) + r = trigger_submission_checker( + server, submitter_id, benchmark, submission_id) if r['return'] > 0: return r - + return {'return': 0} + def get_signed_url(server, benchmark, submitter_id, filename): # Define the URL url = f"{server}/index/url" @@ -54,30 +57,33 @@ def get_signed_url(server, benchmark, submitter_id, filename): try: # Make the POST request response = requests.post(url, json=payload, headers=headers) - + # Check the response status if response.status_code == 200: - #print("Request successful!") - #print("Response:", response.json()) + # print("Request successful!") + # print("Response:", response.json()) pass else: - #print(f"Request failed with status code {response.status_code}") - #print("Response:", response.text) + # print(f"Request failed with status code {response.status_code}") + # print("Response:", response.text) pass except requests.exceptions.RequestException as e: - return {"return": 1, "error": f"An error occurred in connecting to the server: {e}"} + return {"return": 1, + "error": f"An error occurred in connecting to the server: {e}"} response_json = response.json() - #print(response_json) - #response = json.loads(response_json) + # print(response_json) + # response = json.loads(response_json) try: signed_url = response_json['signed_url'] submission_id = response_json['submission_id'] except Exception as e: - return {"return": 1, "error": f"An error occurred while processing the response: {e}"} + return { + "return": 1, "error": f"An error occurred while processing the response: {e}"} - return {'return': 0, 'signed_url': signed_url, 'submission_id': submission_id } + return {'return': 0, 'signed_url': signed_url, + 'submission_id': submission_id} def upload_file_to_signed_url(file_path, signed_url): @@ -107,14 +113,15 @@ def upload_file_to_signed_url(file_path, signed_url): if response.status_code in [200, 201, 204]: print("File uploaded successfully!") - return{ + return { 'return': 0 } else: - print(f"Failed to upload file. Status code: {response.status_code}") + print( + f"Failed to upload file. Status code: {response.status_code}") print("Response:", response.text) - return{ + return { 'return': response.status_code, 'error': response.text } @@ -133,7 +140,9 @@ def upload_file_to_signed_url(file_path, signed_url): 'error': str(e) } -def trigger_submission_checker(server_url, submitter_id, benchmark, submission_id): + +def trigger_submission_checker( + server_url, submitter_id, benchmark, submission_id): """ Sends a POST request with URL-encoded form data. @@ -155,23 +164,23 @@ def trigger_submission_checker(server_url, submitter_id, benchmark, submission_i "benchmark": benchmark, "submission_id": submission_id } - + try: # Make the POST request with URL-encoded data response = requests.post(url, data=payload, headers=headers) - + if response.ok: print("Request successful!") pass else: print(f"Request failed with status code: {response.status_code}") print("Response:", response.text) - + return { "return": 0, "response": response.text } - + except requests.exceptions.RequestException as e: print("An error occurred:", e) return { From c2d2673fc516d92b56f54234552287788ae632f1 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 20:32:54 +0530 Subject: [PATCH 04/24] Added submit-mlperf-results script for auto upload of mlperf results --- script/submit-mlperf-results/_cm.yaml | 2 +- script/submit-mlperf-results/customize.py | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/script/submit-mlperf-results/_cm.yaml b/script/submit-mlperf-results/_cm.yaml index 84ae4d6bf..b7a10ce83 100644 --- a/script/submit-mlperf-results/_cm.yaml +++ b/script/submit-mlperf-results/_cm.yaml @@ -6,7 +6,7 @@ default_env: CM_MLPERF_SUBMISSION_URL: https://submissions-ui.mlcommons.org input_mapping: - input: CM_MLPERF_SUBMISSION_FILENAME + input: CM_MLPERF_SUBMISSION_FILE submitter_id: CM_MLPERF_SUBMITTER_ID tags: - submit diff --git a/script/submit-mlperf-results/customize.py b/script/submit-mlperf-results/customize.py index d00b4c285..d869b44ed 100644 --- a/script/submit-mlperf-results/customize.py +++ b/script/submit-mlperf-results/customize.py @@ -15,18 +15,18 @@ def preprocess(i): server = env['CM_MLPERF_SUBMISSION_URL'] benchmark = env['CM_MLPERF_BENCHMARK'] submitter_id = env['CM_MLPERF_SUBMITTER_ID'] - filename = env['CM_MLPERF_SUBMISSION_FILENAME'] - - r = get_signed_url(server, benchmark, submitter_id, filename) + file_path = env['CM_MLPERF_SUBMISSION_FILE'] + + r = get_signed_url(server, benchmark, submitter_id, file_path) if r['return'] > 0: return r signed_url = r['signed_url'] submission_id = r['submission_id'] - # print(signed_url) - # print(submission_id) - r = upload_file_to_signed_url(filename, signed_url) + #print(signed_url) + #print(submission_id) + r = upload_file_to_signed_url(file_path, signed_url) if r['return'] > 0: return r @@ -37,8 +37,7 @@ def preprocess(i): return {'return': 0} - -def get_signed_url(server, benchmark, submitter_id, filename): +def get_signed_url(server, benchmark, submitter_id, file_path): # Define the URL url = f"{server}/index/url" @@ -51,7 +50,7 @@ def get_signed_url(server, benchmark, submitter_id, filename): payload = { "submitter_id": submitter_id, "benchmark": benchmark, - "filename": filename + "filename": file_path } try: @@ -170,10 +169,10 @@ def trigger_submission_checker( response = requests.post(url, data=payload, headers=headers) if response.ok: - print("Request successful!") + print("Submission Check Request successful!") pass else: - print(f"Request failed with status code: {response.status_code}") + print(f"Submission Check Request failed with status code: {response.status_code}") print("Response:", response.text) return { From 5e34929eb5b64971d59a86f87c5d2642cbbde87f Mon Sep 17 00:00:00 2001 From: mlcommons-bot Date: Fri, 3 Jan 2025 15:04:10 +0000 Subject: [PATCH 05/24] [Automated Commit] Format Codebase --- script/submit-mlperf-results/customize.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/script/submit-mlperf-results/customize.py b/script/submit-mlperf-results/customize.py index d869b44ed..d39b233f3 100644 --- a/script/submit-mlperf-results/customize.py +++ b/script/submit-mlperf-results/customize.py @@ -16,7 +16,7 @@ def preprocess(i): benchmark = env['CM_MLPERF_BENCHMARK'] submitter_id = env['CM_MLPERF_SUBMITTER_ID'] file_path = env['CM_MLPERF_SUBMISSION_FILE'] - + r = get_signed_url(server, benchmark, submitter_id, file_path) if r['return'] > 0: return r @@ -24,8 +24,8 @@ def preprocess(i): signed_url = r['signed_url'] submission_id = r['submission_id'] - #print(signed_url) - #print(submission_id) + # print(signed_url) + # print(submission_id) r = upload_file_to_signed_url(file_path, signed_url) if r['return'] > 0: return r @@ -37,6 +37,7 @@ def preprocess(i): return {'return': 0} + def get_signed_url(server, benchmark, submitter_id, file_path): # Define the URL url = f"{server}/index/url" @@ -172,7 +173,8 @@ def trigger_submission_checker( print("Submission Check Request successful!") pass else: - print(f"Submission Check Request failed with status code: {response.status_code}") + print( + f"Submission Check Request failed with status code: {response.status_code}") print("Response:", response.text) return { From d64b32b57ca1df67c8a923a234ff690c5a4e508c Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 15:48:30 +0000 Subject: [PATCH 06/24] Update format.yml --- .github/workflows/format.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index e1490bc0f..0f5384d7b 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -53,10 +53,10 @@ jobs: run: | HAS_CHANGES=$(git diff --staged --name-only) if [ ${#HAS_CHANGES} -gt 0 ]; then - git config --global user.name mlcommons-bot - git config --global user.email "mlcommons-bot@users.noreply.github.com" + # Use the GitHub actor's name and email + git config --global user.name "${GITHUB_ACTOR}" + git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" # Commit changes git commit -m '[Automated Commit] Format Codebase' - # Use the PAT to push changes git push fi From bfe7ffc279356265b8c54854f0b80b25e15f3a6d Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 15:50:18 +0000 Subject: [PATCH 07/24] Update customize.py --- script/app-image-classification-onnx-py/customize.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/script/app-image-classification-onnx-py/customize.py b/script/app-image-classification-onnx-py/customize.py index 21b57daca..7a6dee0c3 100644 --- a/script/app-image-classification-onnx-py/customize.py +++ b/script/app-image-classification-onnx-py/customize.py @@ -1,8 +1,6 @@ from cmind import utils import os import shutil - - def preprocess(i): os_info = i['os_info'] From f1cbe13d152ad4a8f15c91189154b00cad62557b Mon Sep 17 00:00:00 2001 From: arjunsuresh Date: Fri, 3 Jan 2025 15:50:31 +0000 Subject: [PATCH 08/24] [Automated Commit] Format Codebase --- script/app-image-classification-onnx-py/customize.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/app-image-classification-onnx-py/customize.py b/script/app-image-classification-onnx-py/customize.py index 7a6dee0c3..21b57daca 100644 --- a/script/app-image-classification-onnx-py/customize.py +++ b/script/app-image-classification-onnx-py/customize.py @@ -1,6 +1,8 @@ from cmind import utils import os import shutil + + def preprocess(i): os_info = i['os_info'] From 8ae5223a35a697334bfc41a4aa00149f78b4cad7 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 21:28:03 +0530 Subject: [PATCH 09/24] Added typing_extensions deps to draw-graph-from-json-data --- script/draw-graph-from-json-data/_cm.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/script/draw-graph-from-json-data/_cm.yaml b/script/draw-graph-from-json-data/_cm.yaml index 4cea12c42..eb1d1a157 100644 --- a/script/draw-graph-from-json-data/_cm.yaml +++ b/script/draw-graph-from-json-data/_cm.yaml @@ -19,3 +19,4 @@ deps: - python3 - tags: get,generic-python-lib,_package.networkx - tags: get,generic-python-lib,_package.matplotlib + - tags: get,generic-python-lib,_package.typing_extensions From 68c35cf35790cb63168f74239e9930df486737e2 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 18:28:44 +0000 Subject: [PATCH 10/24] Fixed the output parsing for docker container detect (#104) * Fixed the docker output parsing for detect existing container --- script/run-docker-container/customize.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/script/run-docker-container/customize.py b/script/run-docker-container/customize.py index 9bcb13037..d9518f516 100644 --- a/script/run-docker-container/customize.py +++ b/script/run-docker-container/customize.py @@ -71,7 +71,20 @@ def preprocess(i): if len(out) > 0 and str(env.get('CM_DOCKER_REUSE_EXISTING_CONTAINER', '')).lower() in ["1", "true", "yes"]: # container exists - out_json = json.loads(out) + # print(out) + out_split = out.splitlines() + if len(out_split) > 0: + try: + out_json = json.loads(out_split[0]) + # print("JSON successfully loaded:", out_json) + except json.JSONDecodeError as e: + print(f"Error: First line of 'out' is not valid JSON: {e}") + return { + 'return': 1, 'error': f"Error: First line of 'out' is not valid JSON: {e}"} + else: + out_json = [] + + if isinstance(out_json, list) and len(out_json) > 0: existing_container_id = out_json[0]['Id'] print(f"Reusing existing container {existing_container_id}") env['CM_DOCKER_CONTAINER_ID'] = existing_container_id From 16f75ef182ba93bd92363f560c9cafc03c5d5ca8 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 21:52:42 +0000 Subject: [PATCH 11/24] Update test-mlperf-inference-resnet50.yml | Added PAT for MLC --- .../workflows/test-mlperf-inference-resnet50.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-mlperf-inference-resnet50.yml b/.github/workflows/test-mlperf-inference-resnet50.yml index 9bcc53e8f..5b742eba2 100644 --- a/.github/workflows/test-mlperf-inference-resnet50.yml +++ b/.github/workflows/test-mlperf-inference-resnet50.yml @@ -1,6 +1,3 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - name: MLPerf inference ResNet50 on: @@ -51,12 +48,20 @@ jobs: if: matrix.os != 'windows-latest' run: | cm run script --tags=run-mlperf,inference,_submission,_short --submitter="MLCommons" --pull_changes=yes --pull_inference_changes=yes --hw_name=gh_${{ matrix.os }}_x86 --model=resnet50 --implementation=${{ matrix.implementation }} --backend=${{ matrix.backend }} --device=cpu --scenario=Offline --test_query_count=500 --target_qps=1 -v --quiet + - name: Retrieve secrets from Keeper + id: ksecrets + uses: Keeper-Security/ksm-action@master + with: + keeper-secret-config: ${{ secrets.KSM_CONFIG }} + secrets: |- + ubwkjh-Ii8UJDpG2EoU6GQ/field/Access Token > env:PAT # Fetch PAT and store in environment variable + - name: Push Results - if: github.repository_owner == 'gateoverflow' + if: github.repository_owner == 'mlcommons' env: USER: "GitHub Action" EMAIL: "admin@gateoverflow.com" - GITHUB_TOKEN: ${{ secrets.TEST_RESULTS_GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ env.PAT }} run: | git config --global user.name "${{ env.USER }}" git config --global user.email "${{ env.EMAIL }}" From 5bcdfb58db3bb31e7391cd2ea515254f181f6674 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 23:06:16 +0000 Subject: [PATCH 12/24] Improve setup.py (#106) * Improve setup.py * [Automated Commit] Format Codebase * Update test-mlperf-inference-resnet50.yml --- .../test-mlperf-inference-resnet50.yml | 9 ++++----- setup.py | 20 +++++++++++-------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test-mlperf-inference-resnet50.yml b/.github/workflows/test-mlperf-inference-resnet50.yml index 5b742eba2..a14cc144a 100644 --- a/.github/workflows/test-mlperf-inference-resnet50.yml +++ b/.github/workflows/test-mlperf-inference-resnet50.yml @@ -38,7 +38,7 @@ jobs: git config --system core.longpaths true - name: Install dependencies run: | - pip install "cmind @ git+https://git@github.com/mlcommons/ck.git@mlperf-inference#subdirectory=cm" + CM_PULL_DEFAULT_MLOPS_REPO=no pip install cm4mlops cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }} - name: Test MLPerf Inference ResNet50 (Windows) if: matrix.os == 'windows-latest' @@ -59,14 +59,13 @@ jobs: - name: Push Results if: github.repository_owner == 'mlcommons' env: - USER: "GitHub Action" - EMAIL: "admin@gateoverflow.com" GITHUB_TOKEN: ${{ env.PAT }} run: | - git config --global user.name "${{ env.USER }}" - git config --global user.email "${{ env.EMAIL }}" + git config --global user.name mlcommons-bot + git config --global user.email "mlcommons-bot@users.noreply.github.com" git config --global credential.https://github.com.helper "" git config --global credential.https://github.com.helper "!gh auth git-credential" git config --global credential.https://gist.github.com.helper "" git config --global credential.https://gist.github.com.helper "!gh auth git-credential" + cm run script --tags=gh,auth,cli --with_token=${{ env.PAT }} cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from R50 GH action on ${{ matrix.os }}" --quiet diff --git a/setup.py b/setup.py index 8cc2aec00..0e040665e 100644 --- a/setup.py +++ b/setup.py @@ -146,14 +146,18 @@ def custom_function(self): 'force': True, 'all': True}) branch = os.environ.get('CM_MLOPS_REPO_BRANCH', 'dev') - r = cmind.access({'action': 'pull', - 'automation': 'repo', - 'artifact': 'mlcommons@mlperf-automations', - 'checkout': commit_hash, - 'branch': branch}) - print(r) - if r['return'] > 0: - return r['return'] + pull_default_mlops_repo = os.environ.get( + 'CM_PULL_DEFAULT_MLOPS_REPO', 'true') + + if str(pull_default_mlops_repo).lower() not in ["no", "0", "false"]: + r = cmind.access({'action': 'pull', + 'automation': 'repo', + 'artifact': 'mlcommons@mlperf-automations', + 'checkout': commit_hash, + 'branch': branch}) + print(r) + if r['return'] > 0: + return r['return'] def get_sys_platform(self): self.system = platform.system() From 81816f94c4a396a012412cb3a1cf4096b4ad103e Mon Sep 17 00:00:00 2001 From: mlcommons-bot Date: Fri, 3 Jan 2025 23:06:34 +0000 Subject: [PATCH 13/24] Increment version to 0.6.19 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 724e8d94e..4528c7c55 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.6.18 +0.6.19 From 04c1cd17184a44c43bd37637e5ace32c92085e6c Mon Sep 17 00:00:00 2001 From: mlcommons-bot Date: Fri, 3 Jan 2025 23:06:37 +0000 Subject: [PATCH 14/24] Updated git_commit_hash.txt --- git_commit_hash.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git_commit_hash.txt b/git_commit_hash.txt index b21cfb83e..0ed8ff909 100644 --- a/git_commit_hash.txt +++ b/git_commit_hash.txt @@ -1 +1 @@ -76796b4c3966b04011c3cb6118412516c90ba50b +81816f94c4a396a012412cb3a1cf4096b4ad103e From 1b23221efbd3472418e11fe7a81d57abef0c924c Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Fri, 3 Jan 2025 23:22:27 +0000 Subject: [PATCH 15/24] Update test-mlperf-inference-resnet50.yml --- .github/workflows/test-mlperf-inference-resnet50.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test-mlperf-inference-resnet50.yml b/.github/workflows/test-mlperf-inference-resnet50.yml index a14cc144a..3a8bc9a64 100644 --- a/.github/workflows/test-mlperf-inference-resnet50.yml +++ b/.github/workflows/test-mlperf-inference-resnet50.yml @@ -63,9 +63,9 @@ jobs: run: | git config --global user.name mlcommons-bot git config --global user.email "mlcommons-bot@users.noreply.github.com" - git config --global credential.https://github.com.helper "" - git config --global credential.https://github.com.helper "!gh auth git-credential" - git config --global credential.https://gist.github.com.helper "" - git config --global credential.https://gist.github.com.helper "!gh auth git-credential" - cm run script --tags=gh,auth,cli --with_token=${{ env.PAT }} - cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from R50 GH action on ${{ matrix.os }}" --quiet + # git config --global credential.https://github.com.helper "" + # git config --global credential.https://github.com.helper "!gh auth git-credential" + # git config --global credential.https://gist.github.com.helper "" + # git config --global credential.https://gist.github.com.helper "!gh auth git-credential" + # cm run script --tags=gh,auth,cli --with_token=${{ env.PAT }} + cm run script --tags=push,github,mlperf,inference,submission --env.CM_GH_TOKEN=${{ env.PAT }} --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from R50 GH action on ${{ matrix.os }}" --quiet From 89fe11428e6ed79eb18cb2852885b357ef39d4ee Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 00:37:39 +0000 Subject: [PATCH 16/24] Improve retinanet github action (#107) * Improve retinanet github action * Support PAT in push-mlperf-results-to-github * Fix gh action --- .github/workflows/test-mlperf-inference-resnet50.yml | 10 ++++++++-- .github/workflows/test-mlperf-inference-retinanet.yml | 2 +- .../customize.py | 6 ++++++ script/push-mlperf-inference-results-to-github/run.sh | 5 +++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-mlperf-inference-resnet50.yml b/.github/workflows/test-mlperf-inference-resnet50.yml index 3a8bc9a64..b43a4e838 100644 --- a/.github/workflows/test-mlperf-inference-resnet50.yml +++ b/.github/workflows/test-mlperf-inference-resnet50.yml @@ -36,9 +36,15 @@ jobs: if: matrix.os == 'windows-latest' run: | git config --system core.longpaths true - - name: Install dependencies + - name: Install cm4mlops on Windows + if: matrix.os == 'windows-latest' + run: | + $env:CM_PULL_DEFAULT_MLOPS_REPO = "no"; pip install cm4mlops + - name: Install dependencies on Unix Platforms + if: matrix.os != 'windows-latest' run: | CM_PULL_DEFAULT_MLOPS_REPO=no pip install cm4mlops + - name: Pull MLOps repo cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }} - name: Test MLPerf Inference ResNet50 (Windows) if: matrix.os == 'windows-latest' @@ -68,4 +74,4 @@ jobs: # git config --global credential.https://gist.github.com.helper "" # git config --global credential.https://gist.github.com.helper "!gh auth git-credential" # cm run script --tags=gh,auth,cli --with_token=${{ env.PAT }} - cm run script --tags=push,github,mlperf,inference,submission --env.CM_GH_TOKEN=${{ env.PAT }} --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from R50 GH action on ${{ matrix.os }}" --quiet + cm run script --tags=push,github,mlperf,inference,submission --env.CM_GITHUB_PAT=${{ env.PAT }} --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from R50 GH action on ${{ matrix.os }}" --quiet diff --git a/.github/workflows/test-mlperf-inference-retinanet.yml b/.github/workflows/test-mlperf-inference-retinanet.yml index 3df5ea51b..f5f335c0b 100644 --- a/.github/workflows/test-mlperf-inference-retinanet.yml +++ b/.github/workflows/test-mlperf-inference-retinanet.yml @@ -41,7 +41,7 @@ jobs: git config --system core.longpaths true - name: Install dependencies run: | - python3 -m pip install "cmind @ git+https://git@github.com/mlcommons/ck.git@mlperf-inference#subdirectory=cm" + CM_PULL_DEFAULT_MLOPS_REPO=no pip install cm4mlops cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }} - name: Test MLPerf Inference Retinanet using ${{ matrix.backend }} on ${{ matrix.os }} if: matrix.os == 'windows-latest' diff --git a/script/push-mlperf-inference-results-to-github/customize.py b/script/push-mlperf-inference-results-to-github/customize.py index f1cfe1eba..3fab7359d 100644 --- a/script/push-mlperf-inference-results-to-github/customize.py +++ b/script/push-mlperf-inference-results-to-github/customize.py @@ -1,6 +1,7 @@ from cmind import utils import cmind as cm import os +from giturlparse import parse def preprocess(i): @@ -32,6 +33,11 @@ def preprocess(i): env['CM_MLPERF_RESULTS_REPO_COMMIT_MESSAGE'] = env.get( 'CM_MLPERF_RESULTS_REPO_COMMIT_MESSAGE', 'Added new results') + p = parse(repo) + if env.get('CM_GITHUB_PAT', '') != '': + token = env['CM_GITHUB_PAT'] + env['CM_SET_REMOTE_URL_CMD'] = f"""git remote set-url origin https://git:{token}@{p.host}/{p.owner}/{p.repo}""" + return {'return': 0} diff --git a/script/push-mlperf-inference-results-to-github/run.sh b/script/push-mlperf-inference-results-to-github/run.sh index 1eb4f663e..7fb95eb3d 100644 --- a/script/push-mlperf-inference-results-to-github/run.sh +++ b/script/push-mlperf-inference-results-to-github/run.sh @@ -16,5 +16,10 @@ fi test $? -eq 0 || exit $? git commit -a -m "${CM_MLPERF_RESULTS_REPO_COMMIT_MESSAGE}" + +if [[ -n ${CM_SET_REMOTE_URL_CMD} ]]; then + ${CM_SET_REMOTE_URL_CMD} +fi + git push test $? -eq 0 || exit $? From a602f0a304410bce3a5f749869f9e71a6403f4f9 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 01:44:35 +0000 Subject: [PATCH 17/24] Fix retinanet github action (#108), added dev timeline * Fix retinanet github action --- .../test-mlperf-inference-resnet50.yml | 3 + .../test-mlperf-inference-retinanet.yml | 11 ++- HISTORY.md | 72 +++++++++++++++++++ 3 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 HISTORY.md diff --git a/.github/workflows/test-mlperf-inference-resnet50.yml b/.github/workflows/test-mlperf-inference-resnet50.yml index b43a4e838..2f21d5149 100644 --- a/.github/workflows/test-mlperf-inference-resnet50.yml +++ b/.github/workflows/test-mlperf-inference-resnet50.yml @@ -1,3 +1,4 @@ +# Run MLPerf inference ResNet50 name: MLPerf inference ResNet50 on: @@ -36,6 +37,7 @@ jobs: if: matrix.os == 'windows-latest' run: | git config --system core.longpaths true + - name: Install cm4mlops on Windows if: matrix.os == 'windows-latest' run: | @@ -44,6 +46,7 @@ jobs: if: matrix.os != 'windows-latest' run: | CM_PULL_DEFAULT_MLOPS_REPO=no pip install cm4mlops + - name: Pull MLOps repo cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }} - name: Test MLPerf Inference ResNet50 (Windows) diff --git a/.github/workflows/test-mlperf-inference-retinanet.yml b/.github/workflows/test-mlperf-inference-retinanet.yml index f5f335c0b..105027577 100644 --- a/.github/workflows/test-mlperf-inference-retinanet.yml +++ b/.github/workflows/test-mlperf-inference-retinanet.yml @@ -1,5 +1,4 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions +# Run MLPerf inference Retinanet name: MLPerf inference retinanet @@ -39,9 +38,15 @@ jobs: if: matrix.os == 'windows-latest' run: | git config --system core.longpaths true - - name: Install dependencies + - name: Install cm4mlops on Windows + if: matrix.os == 'windows-latest' + run: | + $env:CM_PULL_DEFAULT_MLOPS_REPO = "no"; pip install cm4mlops + - name: Install dependencies on Unix Platforms + if: matrix.os != 'windows-latest' run: | CM_PULL_DEFAULT_MLOPS_REPO=no pip install cm4mlops + - name: Pull MLOps repo cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }} - name: Test MLPerf Inference Retinanet using ${{ matrix.backend }} on ${{ matrix.os }} if: matrix.os == 'windows-latest' diff --git a/HISTORY.md b/HISTORY.md new file mode 100644 index 000000000..f9e62e1e8 --- /dev/null +++ b/HISTORY.md @@ -0,0 +1,72 @@ +## Timeline of CM developments + +### **🚀 2022: Foundation and Early Developments** + +- **March 2022:** Grigori Fursin began developing **CM (Collective Mind)**, also referred to as **CK2**, as a successor to CK [at OctoML](https://github.com/octoml/ck/commits/master/?since=2022-03-01&until=2022-03-31). +- **April 2022:** **Arjun Suresh** joined OctoML and collaborated with Grigori on developing **CM Automation** tools. +- **May 2022:** The **CM CLI** and **Python interface** were successfully [implemented and stabilized](https://github.com/octoml/ck/commits/master/?since=2022-04-01&until=2022-05-31) by Grigori. + +--- + +### **🛠️ July–September 2022: MLPerf Integration and First Submission** + +- Arjun completed the development of the **MLPerf Inference Script** within CM. +- OctoML achieved **first MLPerf Inference submission (v2.1)** using **CM Automation** ([progress here](https://github.com/octoml/ck/commits/master/?since=2022-06-01&until=2022-09-30)). + +--- + +### **📊 October 2022 – March 2023: End-to-End Automation** + +- End-to-end MLPerf inference automations using CM was successfully [completed in CM](https://github.com/octoml/ck/commits/master/?since=2022-10-01&until=2023-03-31). +- **Additional benchmarks** and **Power Measurement support** were integrated into CM. +- **cTuning** achieved a successful MLPerf Inference **v3.0 submission** using CM Automation. + +--- + +### **🔄 April 2023: Transition and New Funding** + +- Arjun and Grigori departed OctoML and resumed **CM development** under funding from **cKnowledge.org** and **cTuning**. + +--- + +### **🚀 April–October 2023: Expanded Support and Milestone Submission** + +- MLPerf inference automations were [extended](https://github.com/mlcommons/ck/commits/master?since=2023-04-01&until=2023-10-31) to support **NVIDIA implementations**. +- **cTuning** achieved the **largest-ever MLPerf Inference submission (v3.1)** using CM Automation. + +--- + +### **🤝 November 2023: MLCommons Partnership** + +- **MLCommons** began funding CM development to enhance support for **NVIDIA MLPerf inference** and introduce support for **Intel** and **Qualcomm MLPerf inference** implementations. + +--- + +### **🌐 October 2023 – March 2024: Multi-Platform Expansion** + +- MLPerf inference automations were [expanded](https://github.com/mlcommons/ck/commits/master?since=2023-10-01&until=2024-03-15) to support **NVIDIA, Intel, and Qualcomm implementations**. +- **cTuning** completed the **MLPerf Inference v4.0 submission** using CM Automation. + +--- + +### **📝 April 2024: Documentation Improvements** + +- MLCommons contracted **Arjun Suresh** via **GATEOverflow** to improve **MLPerf inference documentation** and enhance CM Automation on various platforms. + +--- + +### **👥 May 2024: Team Expansion** + +- **Anandhu Sooraj** joined MLCommons to collaborate with **Arjun Suresh** on CM development. + +--- + +### **📖 June–December 2024: Enhanced Documentation and Automation** + +- **Dedicated documentation site** launched for **MLPerf inference**. +- **CM scripts** were developed for **MLPerf Automotive**. +- **CM Docker support** was stabilized. +- **GitHub Actions workflows** were added for **MLPerf inference reference implementations** and **NVIDIA integrations** ([see updates](https://github.com/mlcommons/mlperf-automations/commits/main?since=2024-06-01&until=2024-12-31)). + +--- + From 753b094510c5d22e23ed21b27aaecb24a735d701 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 01:53:56 +0000 Subject: [PATCH 18/24] Improve gh action (#109) * Improve gh action --- .github/workflows/test-mlperf-inference-resnet50.yml | 5 ++++- .github/workflows/test-mlperf-inference-retinanet.yml | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-mlperf-inference-resnet50.yml b/.github/workflows/test-mlperf-inference-resnet50.yml index 2f21d5149..983af6e6e 100644 --- a/.github/workflows/test-mlperf-inference-resnet50.yml +++ b/.github/workflows/test-mlperf-inference-resnet50.yml @@ -1,9 +1,10 @@ # Run MLPerf inference ResNet50 + name: MLPerf inference ResNet50 on: pull_request_target: - branches: [ "main", "dev", "mlperf-inference" ] + branches: [ "main", "dev" ] paths: - '.github/workflows/test-mlperf-inference-resnet50.yml' - '**' @@ -48,7 +49,9 @@ jobs: CM_PULL_DEFAULT_MLOPS_REPO=no pip install cm4mlops - name: Pull MLOps repo + run: | cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }} + - name: Test MLPerf Inference ResNet50 (Windows) if: matrix.os == 'windows-latest' run: | diff --git a/.github/workflows/test-mlperf-inference-retinanet.yml b/.github/workflows/test-mlperf-inference-retinanet.yml index 105027577..182f04321 100644 --- a/.github/workflows/test-mlperf-inference-retinanet.yml +++ b/.github/workflows/test-mlperf-inference-retinanet.yml @@ -4,7 +4,7 @@ name: MLPerf inference retinanet on: pull_request_target: - branches: [ "main", "dev", "mlperf-inference" ] + branches: [ "main", "dev" ] paths: - '.github/workflows/test-mlperf-inference-retinanet.yml' - '**' @@ -47,7 +47,9 @@ jobs: run: | CM_PULL_DEFAULT_MLOPS_REPO=no pip install cm4mlops - name: Pull MLOps repo + run: | cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }} + - name: Test MLPerf Inference Retinanet using ${{ matrix.backend }} on ${{ matrix.os }} if: matrix.os == 'windows-latest' run: | From 2354c3fe77ffafed09dd4c458d429bbed6977a2f Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 02:27:42 +0000 Subject: [PATCH 19/24] Update test-mlperf-inference-resnet50.yml --- .github/workflows/test-mlperf-inference-resnet50.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/test-mlperf-inference-resnet50.yml b/.github/workflows/test-mlperf-inference-resnet50.yml index 983af6e6e..9700e4b79 100644 --- a/.github/workflows/test-mlperf-inference-resnet50.yml +++ b/.github/workflows/test-mlperf-inference-resnet50.yml @@ -75,9 +75,4 @@ jobs: run: | git config --global user.name mlcommons-bot git config --global user.email "mlcommons-bot@users.noreply.github.com" - # git config --global credential.https://github.com.helper "" - # git config --global credential.https://github.com.helper "!gh auth git-credential" - # git config --global credential.https://gist.github.com.helper "" - # git config --global credential.https://gist.github.com.helper "!gh auth git-credential" - # cm run script --tags=gh,auth,cli --with_token=${{ env.PAT }} cm run script --tags=push,github,mlperf,inference,submission --env.CM_GITHUB_PAT=${{ env.PAT }} --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from R50 GH action on ${{ matrix.os }}" --quiet From 320ab05f18c4b4fdb9244c5c9921732560da2e8a Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 10:56:14 +0000 Subject: [PATCH 20/24] Support GH_PAT for windows in push-mlperf-inference-results-to-github (#110) --- script/push-mlperf-inference-results-to-github/run.bat | 3 +++ 1 file changed, 3 insertions(+) diff --git a/script/push-mlperf-inference-results-to-github/run.bat b/script/push-mlperf-inference-results-to-github/run.bat index 2052eb564..0784e055e 100644 --- a/script/push-mlperf-inference-results-to-github/run.bat +++ b/script/push-mlperf-inference-results-to-github/run.bat @@ -25,6 +25,9 @@ REM Check if the previous command was successful if %errorlevel% neq 0 exit /b %errorlevel% git commit -a -m "%CM_MLPERF_RESULTS_REPO_COMMIT_MESSAGE%" + +if defined CM_MLPERF_INFERENCE_SUBMISSION_DIR call %CM_SET_REMOTE_URL_CMD% + git push REM Check if the previous command was successful From 309b88cd8f9c1cd23939ac6440d2ee5673824e0b Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 11:26:03 +0000 Subject: [PATCH 21/24] Update test-mlperf-inference-mixtral.yml --- .github/workflows/test-mlperf-inference-mixtral.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-mlperf-inference-mixtral.yml b/.github/workflows/test-mlperf-inference-mixtral.yml index 6687ff048..c234d464e 100644 --- a/.github/workflows/test-mlperf-inference-mixtral.yml +++ b/.github/workflows/test-mlperf-inference-mixtral.yml @@ -32,4 +32,4 @@ jobs: huggingface-cli login --token ${{ secrets.HF_TOKEN }} --add-to-git-credential cm pull repo cm run script --tags=run-mlperf,inference,_submission,_short --adr.inference-src.tags=_branch.dev --submitter="MLCommons" --pull_changes=yes --pull_inference_changes=yes --model=mixtral-8x7b --implementation=reference --batch_size=1 --precision=${{ matrix.precision }} --backend=${{ matrix.backend }} --category=datacenter --scenario=Offline --execution_mode=test --device=${{ matrix.device }} --docker_it=no --docker_cm_repo=gateoverflow@mlperf-automations --adr.compiler.tags=gcc --hw_name=gh_action --docker_dt=yes --results_dir=$HOME/gh_action_results --submission_dir=$HOME/gh_action_submissions --docker --quiet --test_query_count=3 --target_qps=0.001 --clean --env.CM_MLPERF_MODEL_MIXTRAL_8X7B_DOWNLOAD_TO_HOST=yes --env.CM_MLPERF_DATASET_MIXTRAL_8X7B_DOWNLOAD_TO_HOST=yes --adr.openorca-mbxp-gsm8k-combined-preprocessed.tags=_size.1 - cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=dev --commit_message="Results from self hosted Github actions - GO-phoenix" --quiet --submission_dir=$HOME/gh_action_submissions + cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from self hosted Github actions - GO-phoenix" --quiet --submission_dir=$HOME/gh_action_submissions From 32840f3748809ed47464533a5dd683160ac99db5 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 11:32:13 +0000 Subject: [PATCH 22/24] Update test-mlperf-inference-llama2.yml --- .github/workflows/test-mlperf-inference-llama2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-mlperf-inference-llama2.yml b/.github/workflows/test-mlperf-inference-llama2.yml index 184940330..986ee21be 100644 --- a/.github/workflows/test-mlperf-inference-llama2.yml +++ b/.github/workflows/test-mlperf-inference-llama2.yml @@ -32,4 +32,4 @@ jobs: git config --global credential.helper store huggingface-cli login --token ${{ secrets.HF_TOKEN }} --add-to-git-credential cm run script --tags=run-mlperf,inference,_submission,_short --submitter="MLCommons" --pull_changes=yes --pull_inference_changes=yes --model=llama2-70b-99 --implementation=reference --backend=${{ matrix.backend }} --precision=${{ matrix.precision }} --category=datacenter --scenario=Offline --execution_mode=test --device=${{ matrix.device }} --docker --quiet --test_query_count=1 --target_qps=0.001 --docker_it=no --docker_cm_repo=gateoverflow@mlperf-automations --adr.compiler.tags=gcc --hw_name=gh_action --docker_dt=yes --results_dir=$HOME/gh_action_results --submission_dir=$HOME/gh_action_submissions --env.CM_MLPERF_MODEL_LLAMA2_70B_DOWNLOAD_TO_HOST=yes --clean - cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=dev --commit_message="Results from self hosted Github actions" --quiet --submission_dir=$HOME/gh_action_submissions + cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from self hosted Github actions" --quiet --submission_dir=$HOME/gh_action_submissions From 84b85ff93d28abac05bf8460569616731d1667c3 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 11:32:48 +0000 Subject: [PATCH 23/24] Update test-mlperf-inference-gptj.yml --- .github/workflows/test-mlperf-inference-gptj.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-mlperf-inference-gptj.yml b/.github/workflows/test-mlperf-inference-gptj.yml index 6a1152893..bf2921bd2 100644 --- a/.github/workflows/test-mlperf-inference-gptj.yml +++ b/.github/workflows/test-mlperf-inference-gptj.yml @@ -27,5 +27,5 @@ jobs: python3 -m pip install cm4mlops cm pull repo cm run script --tags=run-mlperf,inference,_submission,_short --submitter="MLCommons" --docker --pull_changes=yes --pull_inference_changes=yes --model=gptj-99 --backend=${{ matrix.backend }} --device=cuda --scenario=Offline --test_query_count=1 --precision=${{ matrix.precision }} --target_qps=1 --quiet --docker_it=no --docker_cm_repo=gateoverflow@mlperf-automations --docker_cm_repo_branch=dev --adr.compiler.tags=gcc --beam_size=1 --hw_name=gh_action --docker_dt=yes --results_dir=$HOME/gh_action_results --submission_dir=$HOME/gh_action_submissions --get_platform_details=yes --implementation=reference --clean - cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=dev --commit_message="Results from self hosted Github actions - NVIDIARTX4090" --quiet --submission_dir=$HOME/gh_action_submissions + cm run script --tags=push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=auto-update --commit_message="Results from self hosted Github actions - NVIDIARTX4090" --quiet --submission_dir=$HOME/gh_action_submissions From 4ac4fc4ad346c3bb86adc007ca953fd1ac16bcd4 Mon Sep 17 00:00:00 2001 From: Arjun Suresh Date: Sat, 4 Jan 2025 11:33:38 +0000 Subject: [PATCH 24/24] Update test-mlperf-inference-dlrm.yml --- .github/workflows/test-mlperf-inference-dlrm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-mlperf-inference-dlrm.yml b/.github/workflows/test-mlperf-inference-dlrm.yml index 3ed51759d..f18b51b4d 100644 --- a/.github/workflows/test-mlperf-inference-dlrm.yml +++ b/.github/workflows/test-mlperf-inference-dlrm.yml @@ -25,7 +25,7 @@ jobs: export CM_REPOS=$HOME/GH_CM python3 -m pip install cm4mlops cm pull repo - cm run script --tags=run-mlperf,inference,_performance-only --pull_changes=yes --pull_inference_changes=yes --submitter="MLCommons" --model=dlrm-v2-99 --implementation=reference --backend=pytorch --category=datacenter --scenario=Offline --execution_mode=test --device=${{ matrix.device }} --docker --quiet --test_query_count=1 --target_qps=1 --docker_it=no --docker_cm_repo=gateoverflow@mlperf-automations --adr.compiler.tags=gcc --hw_name=gh_action --docker_dt=yes --results_dir=$HOME/gh_action_results --clean + cm run script --tags=run-mlperf,inference,_performance-only --pull_changes=yes --pull_inference_changes=yes --submitter="MLCommons" --model=dlrm-v2-99 --implementation=reference --backend=pytorch --category=datacenter --scenario=Offline --execution_mode=test --device=${{ matrix.device }} --docker --quiet --test_query_count=1 --target_qps=1 --docker_it=no --adr.compiler.tags=gcc --hw_name=gh_action --docker_dt=yes --results_dir=$HOME/gh_action_results --clean build_intel: if: github.repository_owner == 'gateoverflow_off'