Advertise the L40S pool with real card capabilities
The staging relay pool formerly named mock-4090 is now L40S, matching the Modal deployment. Add its 48 GiB capability entry and default the Subrosa Configuration node to it. The mock-4090 map entry stays for test fixtures. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0aa613d310
commit
45fb739b9f
@@ -191,6 +191,12 @@ _SUBROSA_DEFAULT_POOL_CAPABILITY = SubrosaPoolCapability(
|
||||
)
|
||||
|
||||
_SUBROSA_POOL_CAPABILITIES: Mapping[str, SubrosaPoolCapability] = {
|
||||
"L40S": SubrosaPoolCapability(
|
||||
gpu_name="NVIDIA L40S",
|
||||
total_vram_bytes=48 * 1024**3,
|
||||
cpu_count=16,
|
||||
total_ram_bytes=64 * 1024**3,
|
||||
),
|
||||
"mock-4090": SubrosaPoolCapability(
|
||||
gpu_name="NVIDIA GeForce RTX 4090",
|
||||
total_vram_bytes=24 * 1024**3,
|
||||
|
||||
@@ -340,7 +340,7 @@ class SubrosaConfiguration(io.ComfyNode):
|
||||
inputs=[
|
||||
io.String.Input(
|
||||
"configuration_name",
|
||||
default="subrosa-mock-4090",
|
||||
default="subrosa-l40s",
|
||||
tooltip="Unique workflow-local name for this relay pool.",
|
||||
),
|
||||
io.String.Input(
|
||||
@@ -350,7 +350,7 @@ class SubrosaConfiguration(io.ComfyNode):
|
||||
),
|
||||
io.String.Input(
|
||||
"pool",
|
||||
default="mock-4090",
|
||||
default="L40S",
|
||||
tooltip="Relay pool that should claim these jobs.",
|
||||
),
|
||||
io.Int.Input(
|
||||
@@ -491,12 +491,12 @@ def subrosa_configuration_from_inputs(
|
||||
return SubrosaRemoteConfiguration(
|
||||
configuration_id=normalized_id,
|
||||
display_name=str(
|
||||
inputs.get("configuration_name") or "subrosa-mock-4090"
|
||||
inputs.get("configuration_name") or "subrosa-l40s"
|
||||
).strip(),
|
||||
relay_url=str(
|
||||
inputs.get("relay_url") or "wss://staging.subrosa.red"
|
||||
).strip().rstrip("/"),
|
||||
pool=str(inputs.get("pool") or "mock-4090").strip(),
|
||||
pool=str(inputs.get("pool") or "L40S").strip(),
|
||||
credential_id=str(inputs.get("credential_id") or normalized_id).strip(),
|
||||
maximum_workers=int(inputs.get("maximum_workers", 1)),
|
||||
)
|
||||
|
||||
@@ -222,6 +222,37 @@ def test_subrosa_candidate_has_schedulable_mock_capabilities(
|
||||
assert state.capabilities.maximum_vram_bytes == 24 * 1024**3
|
||||
|
||||
|
||||
def test_subrosa_l40s_pool_advertises_48_gib(
|
||||
execution_scheduling_module: Any,
|
||||
execution_environments_module: Any,
|
||||
remote_configurations_module: Any,
|
||||
settings_module: Any,
|
||||
) -> None:
|
||||
"""The L40S pool should advertise the card's real 48 GiB VRAM."""
|
||||
configuration = remote_configurations_module.SubrosaRemoteConfiguration(
|
||||
configuration_id="44",
|
||||
display_name="Subrosa L40S",
|
||||
relay_url="wss://staging.subrosa.red",
|
||||
pool="L40S",
|
||||
credential_id="subrosa-default",
|
||||
)
|
||||
|
||||
state, quote = execution_scheduling_module._configured_candidate_environment(
|
||||
configuration=configuration,
|
||||
requirements=execution_environments_module.ComponentResourceRequirements(),
|
||||
settings=settings_module.get_settings(),
|
||||
ssh_hosts_by_id={},
|
||||
vast_service=None,
|
||||
vast_unavailable_reason=None,
|
||||
)
|
||||
|
||||
assert quote is None
|
||||
assert state is not None
|
||||
assert state.capabilities is not None
|
||||
assert state.capabilities.maximum_vram_bytes == 48 * 1024**3
|
||||
assert state.capabilities.gpus[0].name == "NVIDIA L40S"
|
||||
|
||||
|
||||
def test_subrosa_b300_pool_admits_large_vram_component(
|
||||
execution_scheduling_module: Any,
|
||||
execution_environments_module: Any,
|
||||
|
||||
Reference in New Issue
Block a user