Skip to main content

A package for submitting benchmarking scripts on OSCAR.

Project description

SlurmJobSubmitter Python Package

Overview

This Python package submits jobs to a Slurm scheduler. The general configuration for jobs reside in config.yaml, whereas run-to-run configuration resides in run_config.csv.

Running MLPerf Jobs

1. General Job Configuration

Configure the job parameters you need for the specific MLPerf job in config.yaml. You can set configurations for several model, benchmark, backend, and architecture combinations. You need to specify:

  • SBATCH parameters
  • Path to the Apptainer image container
  • CM-command parameters
  • Path to the dataset

The following diagram is the structure of the config.yaml file.

# General script parameters

# Architecture-specific parameters
arch: 
    arch-1:
        # SBATCH parameters
        param-1:
        param-2:
        ...

        # Apptainer image path
        container_image:
    arch-2:

# Model-specific parameters
model:
    resnet50:
        # CM parameters
        cm-param-1:
        cm-param-2:
        ...

        # Path to dataset
        data_path: 

Example

Here is an example of a valid YAML configuration.

# General script parameters
destination: "./"
num_runs: 1

# Architecture-specific parameters
arch:
  arm64-gracehopper: &arch_config
    # SBATCH parameters
    nodes: 1
    partition: "gracehopper"
    gres: "gpu:1"
    account: "ccv-gh200-gcondo"
    ntasks_per_node: 1
    memory: "40G"
    time: "01:00:00"
    error_file_name: "%j.err"
    output_file_name: "%j.out"

    # Apptainer image path
    container_image: "/oscar/data/shared/eval_gracehopper/container_images/MLPerf/arm64/mlperf-resnet-50-tf-arm64"

# Model-specific CM parameters
model:
  resnet50: &model_config
    # CM parameters
    hw_name: "default"
    implementation: "reference"
    device: "cuda"
    scenario: "Offline"
    adr.compiler.tags: "gcc"
    target_qps: 1
    category: "edge"
    division: "open"

    # Path to dataset
    data_path: "/oscar/data/ccvinter/mstu/gracehopper_eval/data/imagenet/ILSVRC2012/val"

2. Run-Specific Parameters

You can set run-specific parameters (run ID, model, benchmark, backend, architecture, gpu node) for each MLPerf benchmark configuration you want to run.

RUN_ID,BENCHMARK,MODEL,BACKEND,ARCH,NODE
1,MLPerf-Inference,resnet50,tf,arm64-gracehopper,gpu2701

3. Calling the Package

Developers

If you are developing to add features for a new kind of Slurm job, you should write a derived class from the ABC for both script generation and job submitting.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oscar_benchmarking-0.1.0.tar.gz (132.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oscar_benchmarking-0.1.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file oscar_benchmarking-0.1.0.tar.gz.

File metadata

  • Download URL: oscar_benchmarking-0.1.0.tar.gz
  • Upload date:
  • Size: 132.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.16

File hashes

Hashes for oscar_benchmarking-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e46f3b719a3ef39870a0d3c4d493c8bdf72efecb5ae9d824f12c485fff05cb9b
MD5 3864029813c18bb57f112de97bb8006a
BLAKE2b-256 cddd668040cf62046e330f4124ee594e44481337eb66d89720abe14ec0ed2813

See more details on using hashes here.

File details

Details for the file oscar_benchmarking-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oscar_benchmarking-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6f2ad1d3fdf6bd32f5bf5061e9bbcd9c1a67288e498c34d0e6e73bb237c977c
MD5 aa759a7aa0c0939d986077c9a4a68dcd
BLAKE2b-256 1dac78e1cf8e888a981ae51fc1b699b61939b002bab18441808212776c405559

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page