Skip to content

Sync Dev

Sync Dev #860

name: MLPerf inference MLCommons C++ ResNet50
on:
pull_request_target:
branches: [ "main", "dev" ]
paths:
- '.github/workflows/test-mlperf-inference-mlcommons-cpp-resnet50.yml'
- '**'
- '!**.md'
jobs:
fetch-secret:
runs-on: ubuntu-latest
outputs:
encrypted_secret: ${{ steps.encrypt-secret.outputs.encrypted_secret }}
steps:
- name: Load secret
id: op-load-secret
uses: 1password/load-secrets-action@v2
with:
export-env: false
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
PAT: op://7basd2jirojjckncf6qnq3azai/bzbaco3uxoqs2rcyu42rvuccga/credential
- name: Encrypt secret
id: encrypt-secret
env:
ENCRYPTION_KEY: ${{ secrets.ENCRYPTION_KEY }}
run: |
# AES-256 encrypt
encrypted=$(echo "${{ steps.op-load-secret.outputs.pat }}" | \
openssl enc -e -aes-256-cbc -md sha512 -pbkdf2 -iter 100000 \
-pass pass:"$ENCRYPTION_KEY" -base64 -A)
echo "encrypted_secret=$encrypted" >> $GITHUB_OUTPUT
build:
name: MLPerf inference MLCommons C++ ResNet50
needs: [fetch-secret]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: [ "3.12" ]
llvm-version: [ "15.0.6", "16.0.4", "17.0.6" ]
os: [ubuntu-latest, windows-latest, macos-latest]
exclude:
- llvm-version: "15.0.6"
- llvm-version: "16.0.4"
- os: windows-latest
- os: macos-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install mlcflow
run: |
pip install mlcflow
- name: Pull MLOps repository
run: |
mlc pull repo ${{ github.event.pull_request.head.repo.html_url }} --branch=${{ github.event.pull_request.head.ref }}
mlcr --quiet --tags=get,sys-utils-cm
mlcr --quiet --tags=install,prebuilt,llvm --version=${{ matrix.llvm-version }}
- name: Test MLPerf Inference MLCommons C++ ResNet50 on ${{ matrix.os }}
if: matrix.os == 'windows-latest'
run: |
mlcr app,mlperf,inference,mlcommons,cpp --submitter="MLCommons" --hw_name=gh_${{ matrix.os }} --adr.loadgen.tags=_from-pip --pip_loadgen=yes -v --quiet
- name: Test MLPerf Inference MLCommons C++ ResNet50 on ${{ matrix.os }}
if: matrix.os != 'windows-latest'
run: |
mlcr app,mlperf,inference,mlcommons,cpp --submitter="MLCommons" --hw_name=gh_${{ matrix.os }} -v --quiet
- name: Randomly Execute Step
id: random-check
run: |
RANDOM_NUMBER=$((RANDOM % 10))
echo "Random number is $RANDOM_NUMBER"
if [ "$RANDOM_NUMBER" -eq 0 ]; then
echo "run_step=true" >> $GITHUB_ENV
else
echo "run_step=false" >> $GITHUB_ENV
fi
- name: Decrypt secret
id: decrypt-secret
shell: bash
env:
ENCRYPTION_KEY: ${{ secrets.ENCRYPTION_KEY }}
encrypted_secret: ${{ needs.fetch-secret.outputs.encrypted_secret }}
run: |
echo "Running on OS: ${{ matrix.os }}"
# Decrypt
decrypted=$(echo "$encrypted_secret" | \
openssl enc -d -aes-256-cbc -md sha512 -pbkdf2 -iter 100000 \
-pass pass:"$ENCRYPTION_KEY" -base64 -A)
echo "::add-mask::$decrypted"
echo "DECRYPTED_SECRET=$decrypted" >> $GITHUB_OUTPUT
- name: Push Results
env:
GITHUB_TOKEN: ${{ steps.decrypt-secret.outputs.decrypted_secret }}
USER: mlcommons-bot
EMAIL: [email protected]
if: github.repository_owner == 'mlcommons' && env.run_step == 'true'
run: |
git config --global user.name "${{ env.USER }}"
git config --global user.email "${{ env.EMAIL }}"
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"
mlcr push,github,mlperf,inference,submission --repo_url=https://github.com/mlcommons/mlperf_inference_test_submissions_v5.0 --repo_branch=dev --commit_message="Results from MLCommons C++ ResNet50 GH action on ${{ matrix.os }}" --quiet