alloc 0.0.13__tar.gz → 0.0.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {alloc-0.0.13 → alloc-0.0.14}/PKG-INFO +1 -1
- {alloc-0.0.13 → alloc-0.0.14}/pyproject.toml +1 -1
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/__init__.py +1 -1
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/cli.py +11 -1
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/probe.py +2 -2
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc.egg-info/PKG-INFO +1 -1
- {alloc-0.0.13 → alloc-0.0.14}/README.md +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/setup.cfg +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/artifact_loader.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/artifact_writer.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/browser_auth.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/callbacks.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/catalog/__init__.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/catalog/default_rate_card.json +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/catalog/gpus.v1.json +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/code_analyzer.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/config.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/context.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/diagnosis_display.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/diagnosis_engine.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/diagnosis_rules.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/display.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/extractor_runner.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/ghost.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/model_extractor.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/model_registry.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/stability.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/upload.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc/yaml_config.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc.egg-info/SOURCES.txt +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc.egg-info/dependency_links.txt +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc.egg-info/entry_points.txt +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc.egg-info/requires.txt +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/src/alloc.egg-info/top_level.txt +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_artifact.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_artifact_loader.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_auth.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_callbacks.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_catalog.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_cli.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_code_analyzer.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_context.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_diagnose_cli.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_diagnosis_engine.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_diagnosis_rules.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_extractor_activation.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_ghost.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_ghost_degradation.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_init_from_org.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_interconnect.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_model_extractor.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_probe_hw.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_probe_multi.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_scan_auth.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_stability.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_topology_strategy.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_upload.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_verdict.py +0 -0
- {alloc-0.0.13 → alloc-0.0.14}/tests/test_yaml_config.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alloc
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.14
|
|
4
4
|
Summary: Engineer-first training calibration: estimate VRAM fit, profile short runs, and pick GPU configs under real budget constraints.
|
|
5
5
|
Author-email: Alloc Labs <hello@alloclabs.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "alloc"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.14"
|
|
8
8
|
description = "Engineer-first training calibration: estimate VRAM fit, profile short runs, and pick GPU configs under real budget constraints."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -9,7 +9,7 @@ _warnings.filterwarnings("ignore", category=FutureWarning, module=r"torch\.cuda"
|
|
|
9
9
|
_warnings.filterwarnings("ignore", category=DeprecationWarning, module=r"torch\.cuda")
|
|
10
10
|
del _warnings
|
|
11
11
|
|
|
12
|
-
__version__ = "0.0.
|
|
12
|
+
__version__ = "0.0.14"
|
|
13
13
|
|
|
14
14
|
from alloc.ghost import ghost, GhostReport
|
|
15
15
|
from alloc.callbacks import AllocCallback as HuggingFaceCallback
|
|
@@ -564,8 +564,11 @@ def run(
|
|
|
564
564
|
else:
|
|
565
565
|
console.print("[dim]Tip: alloc login --browser to connect your dashboard[/dim]")
|
|
566
566
|
|
|
567
|
+
# Propagate non-zero exit code — but NOT when calibrate mode
|
|
568
|
+
# intentionally killed the process (torchrun exits non-zero on SIGTERM)
|
|
567
569
|
if result.exit_code and result.exit_code != 0:
|
|
568
|
-
|
|
570
|
+
if result.stop_reason not in ("stable", "timeout"):
|
|
571
|
+
raise typer.Exit(result.exit_code)
|
|
569
572
|
|
|
570
573
|
|
|
571
574
|
@app.command()
|
|
@@ -2115,6 +2118,13 @@ def scan(
|
|
|
2115
2118
|
"""Remote ghost scan via Alloc API — no GPU needed."""
|
|
2116
2119
|
import httpx
|
|
2117
2120
|
|
|
2121
|
+
# When --json, redirect console to stderr so nothing contaminates stdout.
|
|
2122
|
+
from rich.console import Console as _Console
|
|
2123
|
+
if json_output:
|
|
2124
|
+
console = _Console(stderr=True)
|
|
2125
|
+
else:
|
|
2126
|
+
console = _Console()
|
|
2127
|
+
|
|
2118
2128
|
# Resolve param count from model name or explicit flag
|
|
2119
2129
|
resolved_param_count = param_count_b or _model_to_params(model)
|
|
2120
2130
|
if resolved_param_count is None:
|
|
@@ -699,8 +699,8 @@ def probe_command(
|
|
|
699
699
|
num_gpus_detected=num_gpus_ref[0],
|
|
700
700
|
process_map=process_map_ref[0],
|
|
701
701
|
per_gpu_peak_vram_mb=(
|
|
702
|
-
[round(per_gpu_peaks_ref[0]
|
|
703
|
-
if
|
|
702
|
+
[round(per_gpu_peaks_ref[0][i], 1) for i in sorted(per_gpu_peaks_ref[0])]
|
|
703
|
+
if per_gpu_peaks_ref[0] else None
|
|
704
704
|
),
|
|
705
705
|
detected_interconnect=detected_ic_ref[0],
|
|
706
706
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alloc
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.14
|
|
4
4
|
Summary: Engineer-first training calibration: estimate VRAM fit, profile short runs, and pick GPU configs under real budget constraints.
|
|
5
5
|
Author-email: Alloc Labs <hello@alloclabs.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|