docs(DeepSeek-V4): mark b200|small|pd-disagg + h200|small|{cp,pd-disagg} verified (#23689)
This commit is contained in:
@@ -145,7 +145,14 @@ The generator currently picks values on the **conservative** side (mirroring an
|
||||
|
||||
**Hopper (H200) note**
|
||||
|
||||
The H200 image and checkpoint are currently being uploaded — public path coming shortly.
|
||||
H200 image (`lmsysorg/sglang:deepseek-v4-hopper`) and FP8 checkpoints
|
||||
(`sgl-project/DeepSeek-V4-Flash-FP8`, `sgl-project/DeepSeek-V4-Pro-FP8`) are
|
||||
publicly available.
|
||||
|
||||
PD-Disagg recipes on H200 may require `docker run --privileged --ulimit memlock=-1`
|
||||
(or `--device /dev/infiniband:/dev/infiniband --cap-add IPC_LOCK`) so mooncake
|
||||
can discover the IB HCAs; without IB exposure mooncake silently falls back to
|
||||
TCP, which can lead to garbled KV transfer on large checkpoints.
|
||||
|
||||
**Base model usage**
|
||||
|
||||
|
||||
@@ -164,6 +164,7 @@ export const DeepSeekV4Deployment = () => {
|
||||
"b200|small|balanced",
|
||||
"b200|small|max-throughput",
|
||||
"b200|small|cp",
|
||||
"b200|small|pd-disagg",
|
||||
"b200|big|low-latency",
|
||||
"b200|big|balanced",
|
||||
"b200|big|max-throughput",
|
||||
@@ -171,7 +172,18 @@ export const DeepSeekV4Deployment = () => {
|
||||
"h200|small|low-latency",
|
||||
"h200|small|balanced",
|
||||
"h200|small|max-throughput",
|
||||
"h200|small|cp",
|
||||
"h200|small|pd-disagg",
|
||||
// h200|big|pd-disagg: pending verification (needs 4-node H200 cluster with
|
||||
// shared IB fabric: 2-node prefill + 2-node decode).
|
||||
]);
|
||||
// Recipes whose command is intentionally not yet provided (e.g. blocked by an
|
||||
// upstream limitation). Showing a minimal placeholder is friendlier to users
|
||||
// than emitting a commented-out invalid command.
|
||||
const TBD_RECIPES = new Set([
|
||||
"h200|big|cp",
|
||||
]);
|
||||
const TBD_PLACEHOLDER = "# to be provided";
|
||||
const BEING_VERIFIED_NOTE =
|
||||
"# NOTE: this recipe is being verified on the latest checkpoint";
|
||||
|
||||
@@ -387,6 +399,7 @@ export const DeepSeekV4Deployment = () => {
|
||||
const base = `${envBlock}sglang serve \\\n${flags.join(" \\\n")}`;
|
||||
const withMultinode = multinode ? prependMultiNodeNote(base, nnodes) : base;
|
||||
const verifyKey = `${hardware}|${modelSize}|${recipe}`;
|
||||
if (TBD_RECIPES.has(verifyKey)) return TBD_PLACEHOLDER;
|
||||
return VERIFIED_RECIPES.has(verifyKey)
|
||||
? withMultinode
|
||||
: `${BEING_VERIFIED_NOTE}\n${commentOutCommand(withMultinode)}`;
|
||||
@@ -474,6 +487,7 @@ python3 -m sglang_router.launch_router \\
|
||||
|
||||
const full = `${prefill}\n\n${decode}\n\n${router}`;
|
||||
const verifyKey = `${hardware}|${modelSize}|pd-disagg`;
|
||||
if (TBD_RECIPES.has(verifyKey)) return TBD_PLACEHOLDER;
|
||||
return VERIFIED_RECIPES.has(verifyKey)
|
||||
? full
|
||||
: `${BEING_VERIFIED_NOTE}\n${commentOutCommand(full)}`;
|
||||
|
||||
Reference in New Issue
Block a user