"llm/vscode:/vscode.git/clone" did not exist on "738a8d12eb0ba09a1f7bab650f267d96c44b883a"
client.py 1.9 KB
Newer Older
1
# This is a simple MXNet server demo shows how to use DGL distributed kvstore.
Chao Ma's avatar
Chao Ma committed
2
3
import dgl
import argparse
4
import mxnet as mx
5
import time
Chao Ma's avatar
Chao Ma committed
6

7
8
9
10
11
ID = []
ID.append(mx.nd.array([0,1], dtype='int64'))
ID.append(mx.nd.array([2,3], dtype='int64'))
ID.append(mx.nd.array([4,5], dtype='int64'))
ID.append(mx.nd.array([6,7], dtype='int64'))
Chao Ma's avatar
Chao Ma committed
12

13
14
15
16
17
18
DATA = []
DATA.append(mx.nd.array([[1.,1.,1.,],[1.,1.,1.,]]))
DATA.append(mx.nd.array([[2.,2.,2.,],[2.,2.,2.,]]))
DATA.append(mx.nd.array([[3.,3.,3.,],[3.,3.,3.,]]))
DATA.append(mx.nd.array([[4.,4.,4.,],[4.,4.,4.,]]))

19
20
edata_partition_book = {'edata':mx.nd.array([0,0,1,1,2,2,3,3], dtype='int64')}
ndata_partition_book = {'ndata':mx.nd.array([0,0,1,1,2,2,3,3], dtype='int64')}
Chao Ma's avatar
Chao Ma committed
21

22
def start_client():
23
24
    time.sleep(3)

25
26
    client = dgl.contrib.start_client(ip_config='ip_config.txt', 
                                      ndata_partition_book=ndata_partition_book, 
27
28
                                      edata_partition_book=edata_partition_book,
                                      close_shared_mem=True)
Chao Ma's avatar
Chao Ma committed
29

30
31
32
33
34
35
36
37
38
39
40
41

    tensor_edata = client.pull(name='edata', id_tensor=mx.nd.array([0,1,2,3,4,5,6,7], dtype='int64'))
    tensor_ndata = client.pull(name='ndata', id_tensor=mx.nd.array([0,1,2,3,4,5,6,7], dtype='int64'))

    print(tensor_edata)
    client.barrier()

    print(tensor_ndata)
    client.barrier()

    client.push(name='edata', id_tensor=ID[client.get_id()], data_tensor=DATA[client.get_id()])
    client.push(name='ndata', id_tensor=ID[client.get_id()], data_tensor=DATA[client.get_id()])
Chao Ma's avatar
Chao Ma committed
42

43
    client.barrier()
Chao Ma's avatar
Chao Ma committed
44

45
46
    tensor_edata = client.pull(name='edata', id_tensor=mx.nd.array([0,1,2,3,4,5,6,7], dtype='int64'))
    tensor_ndata = client.pull(name='ndata', id_tensor=mx.nd.array([0,1,2,3,4,5,6,7], dtype='int64'))
Chao Ma's avatar
Chao Ma committed
47

48
49
    print(tensor_edata)
    client.barrier()
Chao Ma's avatar
Chao Ma committed
50

51
52
    print(tensor_ndata)
    client.barrier()
Chao Ma's avatar
Chao Ma committed
53

Chao Ma's avatar
Chao Ma committed
54
55
56
57
    if client.get_id() == 0:
        client.shut_down()

if __name__ == '__main__':
58
59

    start_client()