test_gpu.py 2.37 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
56
57
58
59
60
61
62
63
64
65
66
67

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


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()
68
69
    params["0"] = np.random.randn(768).reshape(shapes["0"].lens()).astype(
        np.float16)
Paul's avatar
Paul committed
70

Shucai Xiao's avatar
Shucai Xiao committed
71
72
    r = p.run(params)[-1]
    print(r)
kahmed10's avatar
kahmed10 committed
73

Paul's avatar
Paul committed
74

Shucai Xiao's avatar
Shucai Xiao committed
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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
96
97
98
99
test_conv_relu()
test_sub_uint64()
test_neg_int64()
test_fp16_imagescaler()
Shucai Xiao's avatar
Shucai Xiao committed
100
test_if_pl()