Преглед изворни кода

feat: switch SGLang to --dist-init-addr, add memlock/stack ulimits

- Replace --master-addr <ip> with --dist-init-addr <ip>:25000 for SGLang
  (matches the current SGLang CLI; vLLM keeps --master-addr).
- Add --ulimit memlock=-1 and --ulimit stack=67108864 so the container
  can map the large pages NCCL/InfiniBand needs.
- Update sglang_head test to assert the new flag.
Alexander Korolev пре 4 месеци
родитељ
комит
afd2fc35bf
3 измењених фајлова са 215 додато и 181 уклоњено
  1. 203 177
      Cargo.lock
  2. 10 3
      src/docker/mod.rs
  3. 2 1
      src/docker/tests.rs

Разлика између датотеке није приказан због своје велике величине
+ 203 - 177
Cargo.lock


+ 10 - 3
src/docker/mod.rs

@@ -314,7 +314,14 @@ fn build_docker_command(
 ) -> Vec<String> {
     let is_sglang = recipe.engine == "sglang";
 
-    let mut flags = vec!["--gpus all", "--ipc=host", "--privileged", "--network=host"];
+    let mut flags = vec![
+        "--gpus all",
+        "--ipc=host",
+        "--privileged",
+        "--network=host",
+        "--ulimit memlock=-1",
+        "--ulimit stack=67108864",
+    ];
     if !keep {
         flags.push("--rm");
     }
@@ -372,8 +379,8 @@ fn build_docker_command(
             nnodes.to_string(),
             "--node-rank".into(),
             node.rank.to_string(),
-            "--master-addr".into(),
-            cluster.master_ib_ip.clone(),
+            "--dist-init-addr".into(),
+            format!("{}:{}", cluster.master_ib_ip, 25000),
         ],
         "ray" | "mp" => vec![
             "--tensor-parallel-size".into(),

+ 2 - 1
src/docker/tests.rs

@@ -196,7 +196,8 @@ fn sglang_head() {
     assert!(cmd.contains("--tp 4"));
     assert!(cmd.contains("--nnodes 4"));
     assert!(cmd.contains("--node-rank 0"));
-    assert!(cmd.contains("--master-addr 1"));
+    assert!(cmd.contains("--dist-init-addr 1:25000"));
+    assert!(!cmd.contains("--master-addr"));
     assert!(!cmd.contains("--tensor-parallel-size"));
     assert!(!cmd.contains("--pipeline-parallel-size"));
     assert!(!cmd.contains("--distributed-executor-backend"));

Неке датотеке нису приказане због велике количине промена