test_gpu.py 2.74 KB
Newer Older
Shucai Xiao's avatar
Shucai Xiao committed
1
import sys
Paul's avatar
Paul committed
2
import migraphx
3
4
5
6
try:
    import numpy as np
except:
    sys.exit()
Shucai Xiao's avatar
Shucai Xiao committed
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33


def test_conv_relu():
    p = migraphx.parse_onnx("conv_relu_maxpool_test.onnx")
    print(p)
    print("Compiling ...")
    p.compile(migraphx.get_target("gpu"))
    print(p)
    params = {}

    for key, value in p.get_parameter_shapes().items():
        print("Parameter {} -> {}".format(key, value))
        params[key] = migraphx.generate_argument(value)

    r = p.run(params)
    print(r)


def test_sub_uint64():
    p = migraphx.parse_onnx("implicit_sub_bcast_test.onnx")
    print(p)
    print("Compiling ...")
    p.compile(migraphx.get_target("gpu"))
    print(p)
    params = {}

    shapes = p.get_parameter_shapes()
34
35
    params["0"] = np.arange(120).reshape(shapes["0"].lens()).astype(np.uint64)
    params["1"] = np.arange(20).reshape(shapes["1"].lens()).astype(np.uint64)
Shucai Xiao's avatar
Shucai Xiao committed
36
37
38
39
40
41
42
43
44
45
46
47
48
49

    r = p.run(params)
    print(r)


def test_neg_int64():
    p = migraphx.parse_onnx("neg_test.onnx")
    print(p)
    print("Compiling ...")
    p.compile(migraphx.get_target("gpu"))
    print(p)
    params = {}

    shapes = p.get_parameter_shapes()
50
    params["0"] = np.arange(6).reshape(shapes["0"].lens()).astype(np.int64)
Shucai Xiao's avatar
Shucai Xiao committed
51
52
53
54
55

    r = p.run(params)
    print(r)


Shucai Xiao's avatar
Shucai Xiao committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
def test_nonzero():
    p = migraphx.parse_onnx("nonzero_dynamic_test.onnx")
    print(p)
    print("Compiling ...")
    p.compile(migraphx.get_target("gpu"))
    print(p)
    params = {}

    shapes = p.get_parameter_shapes()
    params["data"] = np.array([1, 1, 0, 1]).reshape(
        shapes["data"].lens()).astype(np.bool)

    r = p.run(params)
    print(r)


Shucai Xiao's avatar
Shucai Xiao committed
72
73
74
75
76
77
78
79
80
81
82
83
def test_fp16_imagescaler():
    p = migraphx.parse_onnx("imagescaler_half_test.onnx")
    print(p)
    s1 = p.get_output_shapes()[-1]
    print("Compiling ...")
    p.compile(migraphx.get_target("gpu"))
    print(p)
    s2 = p.get_output_shapes()[-1]
    assert s1 == s2

    params = {}
    shapes = p.get_parameter_shapes()
84
85
    params["0"] = np.random.randn(768).reshape(shapes["0"].lens()).astype(
        np.float16)
Paul's avatar
Paul committed
86

Shucai Xiao's avatar
Shucai Xiao committed
87
88
    r = p.run(params)[-1]
    print(r)
kahmed10's avatar
kahmed10 committed
89

Paul's avatar
Paul committed
90

Shucai Xiao's avatar
Shucai Xiao committed
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
def test_if_pl():
    p = migraphx.parse_onnx("if_pl_test.onnx")
    print(p)
    s1 = p.get_output_shapes()[-1]
    print("Compiling ...")
    p.compile(migraphx.get_target("gpu"))
    print(p)
    s2 = p.get_output_shapes()[-1]
    assert s1 == s2

    params = {}
    shapes = p.get_parameter_shapes()
    params["x"] = np.ones(6).reshape(shapes["x"].lens()).astype(np.float32)
    params["y"] = np.array([2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0
                            ]).reshape(shapes["y"].lens()).astype(np.float32)
    params["cond"] = np.array([1]).reshape(()).astype(np.bool)

    r = p.run(params)[-1]
    print(r)


Shucai Xiao's avatar
Shucai Xiao committed
112
113
114
115
test_conv_relu()
test_sub_uint64()
test_neg_int64()
test_fp16_imagescaler()
Shucai Xiao's avatar
Shucai Xiao committed
116
test_if_pl()
Shucai Xiao's avatar
Shucai Xiao committed
117
test_nonzero()