Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

51 lines
1.6 KiB
Python

"""
4.5 Performance / Scalability Tests
=====================================
Validates high polling rates, multi-GPU handling, and long-running stats.
"""
import time
import pytest
from conftest import run_rdci
pytestmark = pytest.mark.performance
class TestHighPollingRate:
"""Verify dmon stability at aggressive polling intervals."""
def test_dmon_fast_polling(self, rdci_path, rdcd_server):
r = run_rdci(rdci_path, "dmon", "-f", "100,101,140", "-c", "10", "-d", "200", timeout=30)
assert r.returncode == 0, f"Fast polling dmon failed: {r.stderr}"
lines = [l for l in r.stdout.strip().splitlines() if l.strip()]
assert len(lines) >= 1, "No output from fast polling dmon"
class TestMultiGPUStress:
"""Stress test covering all GPUs."""
def test_dmon_all_gpus(self, rdci_path, rdcd_server):
r = run_rdci(rdci_path, "dmon", "-f", "100,140,155", "-c", "5", "-d", "1000", timeout=30)
assert r.returncode == 0, f"Multi-GPU dmon failed: {r.stderr}"
class TestLongJobStats:
"""Verify job stats remain consistent over a longer period."""
def test_sustained_job_stats(self, rdci_path, rdcd_server):
job_id = "ci_perf_job_001"
r = run_rdci(rdci_path, "stats", "-s", job_id)
assert r.returncode == 0, f"stats start failed: {r.stderr}"
time.sleep(5)
r = run_rdci(rdci_path, "stats", "-j", job_id)
assert r.returncode == 0, f"stats get failed: {r.stderr}"
assert len(r.stdout.strip()) > 0, "No stats output after 5 s"
run_rdci(rdci_path, "stats", "-x", job_id)
run_rdci(rdci_path, "stats", "-r", job_id)