Update README.md#1
Merged
Merged
Conversation
srinivamd
added a commit
to srinivamd/madengine
that referenced
this pull request
Apr 23, 2026
…as; rename TimeoutError->DeploymentTimeoutError; remove unused imports - Copilot review comment ROCm#1: ConnectionError rename is a breaking API change; add `ConnectionError = NetworkError` deprecated alias so existing callers still work for one release cycle - Remove unused `import traceback` and `from rich.table import Table` - Rename TimeoutError -> DeploymentTimeoutError to avoid shadowing Python built-in and avoid confusion with madengine.core.timeout - Remove RuntimeError = ExecutionError alias (shadowed Python built-in)
raviguptaamd
added a commit
to raviguptaamd/madengine
that referenced
this pull request
May 1, 2026
Address all 9 inline comments from copilot-pull-request-reviewer[bot]: ROCm#1 build_orchestrator.py — _execute_with_prebuilt_image now keys manifest['built_models'] by model_name (not use_image), so multiple models that share the same pre-built image are all preserved in the manifest. ROCm#2 build_orchestrator.py — warn when discovered models have differing distributed/slurm configs in the prebuilt-image flow; the post-merge step still uses models[0]'s config but operators are now told. ROCm#3 build_orchestrator.py — _execute_build_on_compute() now raises ConfigurationError early when registry is None instead of falling into registry.replace/.split/.lower with NoneType. ROCm#4 build_orchestrator.py — credentials-required error now emits per-registry hints (docker.io / ghcr.io / gcr.io / quay.io / nvcr.io) instead of Docker-Hub-only PAT guidance. ROCm#5 container_runner.py — document the shell=True trust boundary on the inner subprocess.run; cmd is internally constructed and any user model_args are routed through shlex-quoted assembly in the caller. ROCm#6 slurm.py — drop duplicate `from typing import Optional` import. ROCm#7 slurm.py — slurm_multi wrapper no longer hard-codes `#SBATCH --exclusive`; honours self.slurm_config.get('exclusive', True) to match the standard SLURM template behaviour. ROCm#8 slurm_node_selector.py — cleanup_node()'s srun_cmd is now built once and includes both --job-name (when provided) and --reservation (when set); the second in-try reassignment that dropped --job-name is gone. ROCm#9 run_orchestrator.py — replace the shallow `merged.update(...)` with a real recursive _deep_merge so the comment ("deep-merge") matches the behaviour: nested dicts under slurm/k8s/distributed/etc. are merged per-leaf, runtime --additional-context still wins on conflicts. Made-with: Cursor
raviguptaamd
added a commit
to raviguptaamd/madengine
that referenced
this pull request
May 3, 2026
… perf.csv collection Three fixes that surfaced during the PR ROCm#86 smoke test against the Distributed_Inference_CI reservation: 1. ErrorContext kwargs sweep (build_orchestrator.py: 5 sites) ErrorContext is a dataclass with a fixed field set {operation, phase, component, model_name, node_id, file_path, additional_info}. Five call-sites passed kwargs that don't exist (`model=`, `launcher=`, `model_names=`, `registry=`, `dockerfile=`), which raised `TypeError: ErrorContext.__init__() got an unexpected keyword argument 'model'` BEFORE the real ConfigurationError was constructed. The slurm_multi guard error in particular ("requires --registry or --use-image") was never visible to users. Migrated those kwargs to the proper `model_name=` field or to `additional_info={...}` so the user-facing error messages now reach the console. 2. F1: model-card image fallback for slurm_multi (build_orchestrator.py) When a discovered model card declares `env_vars.DOCKER_IMAGE_NAME` and the user passes neither `--registry` nor `--use-image`, treat the card's image as an implicit `--use-image` and call _execute_with_prebuilt_image() directly. Avoids forcing operators to repeat the image on the CLI for slurm_multi flows whose model cards already pin it. Falls back to the existing ConfigurationError (now visible thanks to fix ROCm#1) when no card image is set or when discovered models declare divergent images. 3. F-perf: extended slurm_multi perf.csv search paths (slurm.py) `_collect_slurm_multi_results` now looks in the locations the inner scripts (MAD-private PR #186) actually write to: * `/shared_inference/<user>/<deployment_id>/perf.csv` (sglang_disagg / vllm_disagg via benchmark_xPyD.sh) * `<workspace>/slurm_output/perf_csv/*<deployment_id>*.csv` (large_ep_benchmark / kvcache_transfer_bench) in addition to the existing `slurm_config.results_dir` and `<cwd>/perf.csv` paths, with NFS-propagation retry on each candidate. Fixes the "0 perf files, 1 log files" outcome we hit on Slurm job 22607 even though `/shared_inference/ravgupta/22607/perf.csv` was actually generated. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.