Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
change
sglang
Commits
0427416b
Unverified
Commit
0427416b
authored
Jan 16, 2025
by
Lianmin Zheng
Committed by
GitHub
Jan 16, 2025
Browse files
Fix zmq binding (#2930)
Co-authored-by:
Chunyuan WU
<
chunyuan.wu@intel.com
>
parent
bf3edc2c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
12 deletions
+18
-12
python/sglang/srt/managers/data_parallel_controller.py
python/sglang/srt/managers/data_parallel_controller.py
+2
-1
python/sglang/srt/managers/detokenizer_manager.py
python/sglang/srt/managers/detokenizer_manager.py
+2
-2
python/sglang/srt/managers/scheduler.py
python/sglang/srt/managers/scheduler.py
+4
-4
python/sglang/srt/managers/tokenizer_manager.py
python/sglang/srt/managers/tokenizer_manager.py
+2
-2
python/sglang/srt/utils.py
python/sglang/srt/utils.py
+8
-3
No files found.
python/sglang/srt/managers/data_parallel_controller.py
View file @
0427416b
...
...
@@ -66,7 +66,7 @@ class DataParallelController:
self
.
context
=
zmq
.
Context
(
1
+
server_args
.
dp_size
)
if
server_args
.
node_rank
==
0
:
self
.
recv_from_tokenizer
=
get_zmq_socket
(
self
.
context
,
zmq
.
PULL
,
port_args
.
scheduler_input_ipc_name
self
.
context
,
zmq
.
PULL
,
port_args
.
scheduler_input_ipc_name
,
False
)
# Dispatch method
...
...
@@ -93,6 +93,7 @@ class DataParallelController:
self
.
context
,
zmq
.
PUSH
,
dp_port_args
[
dp_rank
].
scheduler_input_ipc_name
,
True
,
)
def
launch_dp_schedulers
(
self
,
server_args
,
port_args
):
...
...
python/sglang/srt/managers/detokenizer_manager.py
View file @
0427416b
...
...
@@ -58,10 +58,10 @@ class DetokenizerManager:
# Init inter-process communication
context
=
zmq
.
Context
(
2
)
self
.
recv_from_scheduler
=
get_zmq_socket
(
context
,
zmq
.
PULL
,
port_args
.
detokenizer_ipc_name
context
,
zmq
.
PULL
,
port_args
.
detokenizer_ipc_name
,
True
)
self
.
send_to_tokenizer
=
get_zmq_socket
(
context
,
zmq
.
PUSH
,
port_args
.
tokenizer_ipc_name
context
,
zmq
.
PUSH
,
port_args
.
tokenizer_ipc_name
,
False
)
if
server_args
.
skip_tokenizer_init
:
...
...
python/sglang/srt/managers/scheduler.py
View file @
0427416b
...
...
@@ -162,21 +162,21 @@ class Scheduler:
if
self
.
attn_tp_rank
==
0
:
self
.
recv_from_tokenizer
=
get_zmq_socket
(
context
,
zmq
.
PULL
,
port_args
.
scheduler_input_ipc_name
context
,
zmq
.
PULL
,
port_args
.
scheduler_input_ipc_name
,
False
)
self
.
send_to_tokenizer
=
get_zmq_socket
(
context
,
zmq
.
PUSH
,
port_args
.
tokenizer_ipc_name
context
,
zmq
.
PUSH
,
port_args
.
tokenizer_ipc_name
,
False
)
if
server_args
.
skip_tokenizer_init
:
# Directly send to the TokenizerManager
self
.
send_to_detokenizer
=
get_zmq_socket
(
context
,
zmq
.
PUSH
,
port_args
.
tokenizer_ipc_name
context
,
zmq
.
PUSH
,
port_args
.
tokenizer_ipc_name
,
False
)
else
:
# Send to the DetokenizerManager
self
.
send_to_detokenizer
=
get_zmq_socket
(
context
,
zmq
.
PUSH
,
port_args
.
detokenizer_ipc_name
context
,
zmq
.
PUSH
,
port_args
.
detokenizer_ipc_name
,
False
)
else
:
self
.
recv_from_tokenizer
=
None
...
...
python/sglang/srt/managers/tokenizer_manager.py
View file @
0427416b
...
...
@@ -119,10 +119,10 @@ class TokenizerManager:
# Init inter-process communication
context
=
zmq
.
asyncio
.
Context
(
2
)
self
.
recv_from_detokenizer
=
get_zmq_socket
(
context
,
zmq
.
PULL
,
port_args
.
tokenizer_ipc_name
context
,
zmq
.
PULL
,
port_args
.
tokenizer_ipc_name
,
True
)
self
.
send_to_scheduler
=
get_zmq_socket
(
context
,
zmq
.
PUSH
,
port_args
.
scheduler_input_ipc_name
context
,
zmq
.
PUSH
,
port_args
.
scheduler_input_ipc_name
,
True
)
# Read model args
...
...
python/sglang/srt/utils.py
View file @
0427416b
...
...
@@ -789,7 +789,9 @@ def first_rank_print(*args, **kwargs):
pass
def
get_zmq_socket
(
context
:
zmq
.
Context
,
socket_type
:
zmq
.
SocketType
,
endpoint
:
str
):
def
get_zmq_socket
(
context
:
zmq
.
Context
,
socket_type
:
zmq
.
SocketType
,
endpoint
:
str
,
bind
:
bool
):
mem
=
psutil
.
virtual_memory
()
total_mem
=
mem
.
total
/
1024
**
3
available_mem
=
mem
.
available
/
1024
**
3
...
...
@@ -802,14 +804,17 @@ def get_zmq_socket(context: zmq.Context, socket_type: zmq.SocketType, endpoint:
if
socket_type
==
zmq
.
PUSH
:
socket
.
setsockopt
(
zmq
.
SNDHWM
,
0
)
socket
.
setsockopt
(
zmq
.
SNDBUF
,
buf_size
)
socket
.
connect
(
endpoint
)
elif
socket_type
==
zmq
.
PULL
:
socket
.
setsockopt
(
zmq
.
RCVHWM
,
0
)
socket
.
setsockopt
(
zmq
.
RCVBUF
,
buf_size
)
socket
.
bind
(
endpoint
)
else
:
raise
ValueError
(
f
"Unsupported socket type:
{
socket_type
}
"
)
if
bind
:
socket
.
bind
(
endpoint
)
else
:
socket
.
connect
(
endpoint
)
return
socket
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment