Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
seminar-breakout
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Shashank Suhas
seminar-breakout
Commits
760b924a
Commit
760b924a
authored
Mar 02, 2018
by
Yuxin Wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use DEALER-REP in MultiProcessMapData (fix #673)
parent
bc9d2e1a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
7 deletions
+3
-7
tensorpack/dataflow/parallel_map.py
tensorpack/dataflow/parallel_map.py
+3
-7
No files found.
tensorpack/dataflow/parallel_map.py
View file @
760b924a
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# File: parallel_map.py
# File: parallel_map.py
import
numpy
as
np
import
numpy
as
np
import
time
import
ctypes
import
ctypes
import
copy
import
copy
import
threading
import
threading
...
@@ -227,7 +226,7 @@ class MultiProcessMapDataZMQ(_ParallelMapData, _MultiProcessZMQDataFlow):
...
@@ -227,7 +226,7 @@ class MultiProcessMapDataZMQ(_ParallelMapData, _MultiProcessZMQDataFlow):
def
run
(
self
):
def
run
(
self
):
ctx
=
zmq
.
Context
()
ctx
=
zmq
.
Context
()
socket
=
ctx
.
socket
(
zmq
.
DEALER
)
socket
=
ctx
.
socket
(
zmq
.
REP
)
socket
.
setsockopt
(
zmq
.
IDENTITY
,
self
.
identity
)
socket
.
setsockopt
(
zmq
.
IDENTITY
,
self
.
identity
)
socket
.
set_hwm
(
self
.
hwm
)
socket
.
set_hwm
(
self
.
hwm
)
socket
.
connect
(
self
.
pipename
)
socket
.
connect
(
self
.
pipename
)
...
@@ -256,7 +255,7 @@ class MultiProcessMapDataZMQ(_ParallelMapData, _MultiProcessZMQDataFlow):
...
@@ -256,7 +255,7 @@ class MultiProcessMapDataZMQ(_ParallelMapData, _MultiProcessZMQDataFlow):
def
_reset_once
(
self
):
def
_reset_once
(
self
):
self
.
context
=
zmq
.
Context
()
self
.
context
=
zmq
.
Context
()
self
.
socket
=
self
.
context
.
socket
(
zmq
.
ROUT
ER
)
self
.
socket
=
self
.
context
.
socket
(
zmq
.
DEAL
ER
)
self
.
socket
.
set_hwm
(
self
.
_buffer_size
*
2
)
self
.
socket
.
set_hwm
(
self
.
_buffer_size
*
2
)
pipename
=
_get_pipe_name
(
'dataflow-map'
)
pipename
=
_get_pipe_name
(
'dataflow-map'
)
_bind_guard
(
self
.
socket
,
pipename
)
_bind_guard
(
self
.
socket
,
pipename
)
...
@@ -272,16 +271,13 @@ class MultiProcessMapDataZMQ(_ParallelMapData, _MultiProcessZMQDataFlow):
...
@@ -272,16 +271,13 @@ class MultiProcessMapDataZMQ(_ParallelMapData, _MultiProcessZMQDataFlow):
self
.
_iter_worker
=
_repeat_iter
(
lambda
:
iter
(
self
.
_proc_ids
))
self
.
_iter_worker
=
_repeat_iter
(
lambda
:
iter
(
self
.
_proc_ids
))
self
.
_start_processes
()
self
.
_start_processes
()
time
.
sleep
(
5
)
# TODO temporarily work around #673
self
.
_fill_buffer
()
# pre-fill the bufer
self
.
_fill_buffer
()
# pre-fill the bufer
def
reset_state
(
self
):
def
reset_state
(
self
):
_MultiProcessZMQDataFlow
.
reset_state
(
self
)
_MultiProcessZMQDataFlow
.
reset_state
(
self
)
def
_send
(
self
,
dp
):
def
_send
(
self
,
dp
):
# round-robin assignment
msg
=
[
b
""
,
dumps
(
dp
)]
worker
=
next
(
self
.
_iter_worker
)
msg
=
[
worker
,
dumps
(
dp
)]
self
.
socket
.
send_multipart
(
msg
,
copy
=
False
)
self
.
socket
.
send_multipart
(
msg
,
copy
=
False
)
def
_recv
(
self
):
def
_recv
(
self
):
...
...
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