Пример #1
0
d1.join("d1")
d2.join("d2")

d1["a"] = np.random.rand(500, 500)
d1["b"] = np.random.rand(500, 500)
d1["c"] = np.random.rand(500, 500)
d1["d"] = np.random.rand(500, 500)
d1["e"] = np.random.rand(500, 500)

d2["a"] = None
d2["b"] = None
d2["c"] = None
d2["d"] = None
d2["e"] = None

d1.send("d2", "a", "b", "c")

d2.sync(2)

assert np.array_equal(d1["a"], d2["a"])
assert np.array_equal(d1["b"], d2["b"])
assert not np.array_equal(d1["c"], d2["c"])
assert not np.array_equal(d1["d"], d2["d"])
assert not np.array_equal(d1["e"], d2["e"])

d1.send("d2", "d", "e")
d2.sync()

assert np.array_equal(d1["a"], d2["a"])
assert np.array_equal(d1["b"], d2["b"])
assert np.array_equal(d1["c"], d2["c"])
Пример #2
0
import numpy as np
import sys

from dime import DimeClient

if __name__ != "__main__":
    raise RuntimeError()

d1 = DimeClient("tcp", sys.argv[1], int(sys.argv[2]))
d2 = DimeClient("tcp", sys.argv[1], int(sys.argv[2]))

d1.join("d1")
d2.join("d2")

d1["a"] = np.random.rand(500, 500)

d1.send("d2", "a")

d2.sync()

assert np.array_equal(d1["a"], d2["a"])
Пример #3
0

def timeout(signum, frame):
    raise RuntimeError("\"wait\" command timed out")


d = DimeClient("ipc", sys.argv[1])

if int(sys.argv[2]) == 0:
    d.join("d1")

    while "d2" not in d.devices():
        time.sleep(0.05)

    d["a"] = "ping"
    d.send("d2", "a")

    n = d.wait()
    assert n == 1 or n == 2
    d.sync(1)

    assert d["a"] == "pong"

    signal.signal(signal.SIGALRM, timeout)
    signal.alarm(10)

    d.wait()

    signal.alarm(0)

else:
Пример #4
0
if __name__ != "__main__":
    raise RuntimeError()

d1 = DimeClient("ipc", sys.argv[1])
d2 = DimeClient("ipc", sys.argv[1])
d3 = DimeClient("ipc", sys.argv[1])

d1.join("d1")
d2.join("d2")
d3.join("d3")

d1["a"] = np.random.rand(500, 500)
d1["b"] = np.random.rand(500, 500)
d1["c"] = np.random.rand(500, 500)

d1.send("d2", "a", "b", "c")

d2.sync()

assert np.array_equal(d1["a"], d2["a"])
assert np.array_equal(d1["b"], d2["b"])
assert np.array_equal(d1["c"], d2["c"])

d3["a"] = None
d3["b"] = None
d3["c"] = None

d3.sync()

assert not np.array_equal(d1["a"], d3["a"])
assert not np.array_equal(d1["b"], d3["b"])
import math
import numpy as np
import sys
import time

from dime import DimeClient

d = DimeClient("ipc", sys.argv[1]);
d.join("python");

while "matlab" not in d.devices():
    time.sleep(0.05)

time.sleep(1)

d.sync()

assert d["nothing"] is None
assert d["boolean"] is True
assert d["float"] == math.pi
assert d["int"] == 0xDEADBEEF
assert d["complexfloat"] == complex(math.sqrt(0.75), 0.5)
assert np.array_equal(d["matrix"], np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9.01]]))
assert d["string"] == "Hello world!"
assert d["sequence"] == [-1, ":)", False, None]
assert d["mapping"] == {"foo": 2, "bar": "Green eggs and spam"}

d.send("matlab", "nothing", "boolean", "int", "float", "complexfloat", "matrix", "string", "sequence", "mapping");