From e6d03628784f4016f76ddcfdcc0c8e0453942868 Mon Sep 17 00:00:00 2001 From: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:21:40 +0800 Subject: [PATCH 1/6] fix: Update SLURM job names to follow cluster convention Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> --- .../defs/perf/disagg/execution/executor.py | 1 + .../defs/perf/disagg/utils/common.py | 60 +++++++++++-------- .../defs/perf/disagg/utils/config_loader.py | 3 +- 3 files changed, 38 insertions(+), 26 deletions(-) diff --git a/tests/integration/defs/perf/disagg/execution/executor.py b/tests/integration/defs/perf/disagg/execution/executor.py index 8dec350f77e5..320dfb53b3c5 100644 --- a/tests/integration/defs/perf/disagg/execution/executor.py +++ b/tests/integration/defs/perf/disagg/execution/executor.py @@ -219,6 +219,7 @@ def submit_test_job(test_config) -> tuple: # Write temporary config file with replaced environment variables logger.info(f"Creating temporary config: {temp_config_path}") + with open(temp_config_path, "w") as f: yaml.dump( test_config.config_data, diff --git a/tests/integration/defs/perf/disagg/utils/common.py b/tests/integration/defs/perf/disagg/utils/common.py index 84d31f828725..10d656d457d3 100644 --- a/tests/integration/defs/perf/disagg/utils/common.py +++ b/tests/integration/defs/perf/disagg/utils/common.py @@ -2,50 +2,50 @@ import os -# GPU resource configuration -# Centralized configuration for all GPU-specific parameters +# GPU resource configuration - centralized config for all GPU-specific parameters +# job_name_prefix: SLURM job name format is {prefix}-{base} (e.g., coreai_comparch_trtllm-unified.benchmark) GPU_RESOURCE_CONFIG = { - # OCI GB200 - "GB200": { - "slurm_extra_args": "--gres=gpu:4", # SLURM extra arguments (empty string if not required) + "GB200": { # OCI GB200 + "slurm_extra_args": "--gres=gpu:4", "set_segment": True, - "lock_freq_graphics_mhz": 2062, # GPU graphics clock lock frequency (MHz) - "lock_freq_memory_mhz": 3996, # GPU memory clock lock frequency (MHz) + "lock_freq_graphics_mhz": 2062, + "lock_freq_memory_mhz": 3996, + "job_name_prefix": "", }, - # Lyris GB200 - "GB200_LYRIS": { - "slurm_extra_args": "", # GB300 does not require extra args + "GB200_LYRIS": { # Lyris GB200 + "slurm_extra_args": "", "set_segment": True, - "lock_freq_graphics_mhz": None, # TODO: Set GB300 lock frequency + "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, + "job_name_prefix": "coreai_comparch_trtllm", }, - # Lyris GB300 - "GB300": { - "slurm_extra_args": "", # GB300 does not require extra args + "GB300": { # Lyris GB300 + "slurm_extra_args": "", "set_segment": True, - "lock_freq_graphics_mhz": None, # TODO: Set GB300 lock frequency + "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, + "job_name_prefix": "coreai_comparch_trtllm", }, - # H100 "H100": { - "slurm_extra_args": "", # H100 does not require extra args + "slurm_extra_args": "", "set_segment": False, - "lock_freq_graphics_mhz": None, # TODO: Set H100 lock frequency + "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, + "job_name_prefix": "", }, - # B200 - "B200": { + "B200": { # OCI B200 "slurm_extra_args": "--gres=gpu:4", "set_segment": False, - "lock_freq_graphics_mhz": None, # TODO: Set B200 lock frequency + "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, + "job_name_prefix": "coreai_comparch_trtllm", }, - # B300 - "B300": { + "B300": { # OCI B300 "slurm_extra_args": "--gres=gpu:4", "set_segment": False, - "lock_freq_graphics_mhz": None, # TODO: Set B300 lock frequency + "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, + "job_name_prefix": "coreai_comparch_trtllm", }, } @@ -67,7 +67,17 @@ def get_slurm_account() -> str: @staticmethod def get_slurm_job_name() -> str: - return os.getenv("SLURM_JOB_NAME", "unified-benchmark") + """Get SLURM job name based on GPU type configuration. + + Format: {prefix}-{base} or just {base} if no prefix. + Example: coreai_comparch_trtllm-unified.benchmark + + Customize via SLURM_JOB_BASE_NAME env var (default: unified.benchmark) + """ + gpu_type = EnvManager.get_gpu_type() + prefix = GPU_RESOURCE_CONFIG.get(gpu_type, {}).get("job_name_prefix", "") + base = os.getenv("SLURM_JOB_BASE_NAME", "unified.benchmark") + return f"{prefix}-{base}" if prefix else base @staticmethod def get_slurm_set_segment() -> bool: diff --git a/tests/integration/defs/perf/disagg/utils/config_loader.py b/tests/integration/defs/perf/disagg/utils/config_loader.py index b7ff18d4d5e5..21b107f26edf 100644 --- a/tests/integration/defs/perf/disagg/utils/config_loader.py +++ b/tests/integration/defs/perf/disagg/utils/config_loader.py @@ -532,7 +532,8 @@ def _apply_env_overrides(self, config_data: dict, model_name: str) -> dict: # Apply overrides based on field paths for (section, key), value_getter in field_mapping.items(): if section in config: - config[section][key] = value_getter() + new_value = value_getter() + config[section][key] = new_value return config def _get_full_model_path(self, config: dict) -> str: From 00eeb5a1e9706e5a0d9068137dd607646cc4170a Mon Sep 17 00:00:00 2001 From: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:12:10 +0800 Subject: [PATCH 2/6] fix: Update SLURM job names to follow cluster convention Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> --- tests/integration/defs/perf/disagg/utils/config_loader.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/integration/defs/perf/disagg/utils/config_loader.py b/tests/integration/defs/perf/disagg/utils/config_loader.py index 21b107f26edf..b7ff18d4d5e5 100644 --- a/tests/integration/defs/perf/disagg/utils/config_loader.py +++ b/tests/integration/defs/perf/disagg/utils/config_loader.py @@ -532,8 +532,7 @@ def _apply_env_overrides(self, config_data: dict, model_name: str) -> dict: # Apply overrides based on field paths for (section, key), value_getter in field_mapping.items(): if section in config: - new_value = value_getter() - config[section][key] = new_value + config[section][key] = value_getter() return config def _get_full_model_path(self, config: dict) -> str: From ee49aa2536f273b3cfb1b40493805bc4c447db1e Mon Sep 17 00:00:00 2001 From: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:17:16 +0800 Subject: [PATCH 3/6] fix pre-commit error Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> --- tests/integration/defs/perf/disagg/execution/executor.py | 2 +- tests/integration/defs/perf/disagg/utils/common.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/defs/perf/disagg/execution/executor.py b/tests/integration/defs/perf/disagg/execution/executor.py index 320dfb53b3c5..8e816fecdc11 100644 --- a/tests/integration/defs/perf/disagg/execution/executor.py +++ b/tests/integration/defs/perf/disagg/execution/executor.py @@ -219,7 +219,7 @@ def submit_test_job(test_config) -> tuple: # Write temporary config file with replaced environment variables logger.info(f"Creating temporary config: {temp_config_path}") - + with open(temp_config_path, "w") as f: yaml.dump( test_config.config_data, diff --git a/tests/integration/defs/perf/disagg/utils/common.py b/tests/integration/defs/perf/disagg/utils/common.py index 10d656d457d3..960c1cae91fc 100644 --- a/tests/integration/defs/perf/disagg/utils/common.py +++ b/tests/integration/defs/perf/disagg/utils/common.py @@ -68,10 +68,10 @@ def get_slurm_account() -> str: @staticmethod def get_slurm_job_name() -> str: """Get SLURM job name based on GPU type configuration. - + Format: {prefix}-{base} or just {base} if no prefix. Example: coreai_comparch_trtllm-unified.benchmark - + Customize via SLURM_JOB_BASE_NAME env var (default: unified.benchmark) """ gpu_type = EnvManager.get_gpu_type() From 375f0c5b89e6ac7e31f50467c26cf0fedf4764dd Mon Sep 17 00:00:00 2001 From: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:22:43 +0800 Subject: [PATCH 4/6] fix: Update SLURM job names to follow cluster convention Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> --- tests/integration/defs/perf/disagg/utils/common.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/defs/perf/disagg/utils/common.py b/tests/integration/defs/perf/disagg/utils/common.py index 960c1cae91fc..f26e9920860b 100644 --- a/tests/integration/defs/perf/disagg/utils/common.py +++ b/tests/integration/defs/perf/disagg/utils/common.py @@ -10,7 +10,7 @@ "set_segment": True, "lock_freq_graphics_mhz": 2062, "lock_freq_memory_mhz": 3996, - "job_name_prefix": "", + "job_name_prefix": "coreai_comparch_trtllm", }, "GB200_LYRIS": { # Lyris GB200 "slurm_extra_args": "", @@ -38,14 +38,14 @@ "set_segment": False, "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, - "job_name_prefix": "coreai_comparch_trtllm", + "job_name_prefix": "", }, "B300": { # OCI B300 "slurm_extra_args": "--gres=gpu:4", "set_segment": False, "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, - "job_name_prefix": "coreai_comparch_trtllm", + "job_name_prefix": "", }, } From c252b928c51f54c8b13fde6621057eae32365300 Mon Sep 17 00:00:00 2001 From: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Date: Thu, 5 Feb 2026 11:08:36 +0800 Subject: [PATCH 5/6] use SLURM_ACCOUNT as job name prefix instead of hardcoding Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> --- .../defs/perf/disagg/utils/common.py | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/tests/integration/defs/perf/disagg/utils/common.py b/tests/integration/defs/perf/disagg/utils/common.py index f26e9920860b..d8d449c9f36f 100644 --- a/tests/integration/defs/perf/disagg/utils/common.py +++ b/tests/integration/defs/perf/disagg/utils/common.py @@ -3,49 +3,42 @@ import os # GPU resource configuration - centralized config for all GPU-specific parameters -# job_name_prefix: SLURM job name format is {prefix}-{base} (e.g., coreai_comparch_trtllm-unified.benchmark) GPU_RESOURCE_CONFIG = { "GB200": { # OCI GB200 "slurm_extra_args": "--gres=gpu:4", "set_segment": True, "lock_freq_graphics_mhz": 2062, "lock_freq_memory_mhz": 3996, - "job_name_prefix": "coreai_comparch_trtllm", }, "GB200_LYRIS": { # Lyris GB200 "slurm_extra_args": "", "set_segment": True, "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, - "job_name_prefix": "coreai_comparch_trtllm", }, "GB300": { # Lyris GB300 "slurm_extra_args": "", "set_segment": True, "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, - "job_name_prefix": "coreai_comparch_trtllm", }, "H100": { "slurm_extra_args": "", "set_segment": False, "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, - "job_name_prefix": "", }, "B200": { # OCI B200 "slurm_extra_args": "--gres=gpu:4", "set_segment": False, "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, - "job_name_prefix": "", }, "B300": { # OCI B300 "slurm_extra_args": "--gres=gpu:4", "set_segment": False, "lock_freq_graphics_mhz": None, "lock_freq_memory_mhz": None, - "job_name_prefix": "", }, } @@ -67,17 +60,18 @@ def get_slurm_account() -> str: @staticmethod def get_slurm_job_name() -> str: - """Get SLURM job name based on GPU type configuration. - - Format: {prefix}-{base} or just {base} if no prefix. - Example: coreai_comparch_trtllm-unified.benchmark - - Customize via SLURM_JOB_BASE_NAME env var (default: unified.benchmark) + """Get SLURM job name: {SLURM_ACCOUNT}-{base}. + + Example: myaccount-unified.benchmark + Customize base via SLURM_JOB_BASE_NAME env var (default: unified.benchmark) """ - gpu_type = EnvManager.get_gpu_type() - prefix = GPU_RESOURCE_CONFIG.get(gpu_type, {}).get("job_name_prefix", "") + account = EnvManager.get_slurm_account() base = os.getenv("SLURM_JOB_BASE_NAME", "unified.benchmark") - return f"{prefix}-{base}" if prefix else base + + # Only use account as prefix if it's set and not a placeholder + if account and not account.startswith("<"): + return f"{account}-{base}" + return base @staticmethod def get_slurm_set_segment() -> bool: From 1571d82a5260724c0a012ec75f474006d469a7d5 Mon Sep 17 00:00:00 2001 From: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> Date: Thu, 5 Feb 2026 11:17:36 +0800 Subject: [PATCH 6/6] fix pre-commit error Signed-off-by: yingguo-trt <244492186+yingguo-trt@users.noreply.github.com> --- tests/integration/defs/perf/disagg/utils/common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/defs/perf/disagg/utils/common.py b/tests/integration/defs/perf/disagg/utils/common.py index d8d449c9f36f..df787da3b1e3 100644 --- a/tests/integration/defs/perf/disagg/utils/common.py +++ b/tests/integration/defs/perf/disagg/utils/common.py @@ -61,13 +61,13 @@ def get_slurm_account() -> str: @staticmethod def get_slurm_job_name() -> str: """Get SLURM job name: {SLURM_ACCOUNT}-{base}. - + Example: myaccount-unified.benchmark Customize base via SLURM_JOB_BASE_NAME env var (default: unified.benchmark) """ account = EnvManager.get_slurm_account() base = os.getenv("SLURM_JOB_BASE_NAME", "unified.benchmark") - + # Only use account as prefix if it's set and not a placeholder if account and not account.startswith("<"): return f"{account}-{base}"