This repository has been archived by the owner on Apr 5, 2023. It is now read-only.
forked from pytorch/pytorch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TestFuser.test_milstm_cuda-backward.expect
169 lines (169 loc) · 5.75 KB
/
TestFuser.test_milstm_cuda-backward.expect
1
2
3
4
5
6
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
graph(%0 : Float(*, *)
%1 : Float(*, *)
%2 : UndefinedTensor
%3 : UndefinedTensor
%4 : UndefinedTensor
%5 : UndefinedTensor
%6 : UndefinedTensor
%7 : UndefinedTensor
%8 : UndefinedTensor
%9 : UndefinedTensor
%10 : Float(*, *)
%11 : Float(*)
%12 : Float(*)
%13 : Float(*)
%14 : Float(*, *)
%15 : Float(*, *)
%Wx : Float(*, *)
%Uz : Float(*, *)
%18 : Float(*, *)
%19 : int[]
%20 : int[]
%21 : int[]
%22 : int[]
%23 : int[]
%24 : int[]
%ingate : Float(*, *)
%forgetgate : Float(*, *)
%cellgate : Float(*, *)
%outgate : Float(*, *)
%29 : int[]
%30 : int[]
%31 : Float(*, *)) {
%32 : int = prim::Constant[value=1]()
%33 : int[] = aten::size(%outgate)
%34 : int[] = aten::size(%31)
%35 : int[] = aten::size(%ingate)
%36 : int[] = aten::size(%cellgate)
%37 : int[] = aten::size(%forgetgate)
%38 : Tensor = prim::FusionGroup_0(%outgate, %0, %31, %33)
%39 : Tensor, %40 : Tensor, %41 : Tensor = prim::FusionGroup_1(%10, %ingate, %cellgate, %1, %31, %0, %outgate, %forgetgate, %37, %29, %36, %35, %30, %34)
%42 : Tensor[] = prim::ListConstruct(%41, %39, %40, %38)
%43 : Tensor = aten::cat(%42, %32)
%44 : Tensor = aten::_grad_sum_to_size(%43, %24)
%45 : Tensor = aten::_grad_sum_to_size(%43, %22)
%46 : int[] = aten::size(%11)
%grad_self.7 : Tensor = prim::FusionGroup_2(%45, %Uz, %46)
%48 : int[] = aten::size(%Uz)
%49 : Tensor = aten::_grad_sum_to_size(%43, %19)
%50 : Tensor = aten::_grad_sum_to_size(%43, %20)
%51 : int[] = aten::size(%12)
%grad_self.9 : Tensor = prim::FusionGroup_3(%50, %Wx, %51)
%53 : int[] = aten::size(%Wx)
%54 : int[] = aten::size(%18)
%55 : Tensor = prim::FusionGroup_4(%49, %18, %45, %11, %48)
%56 : int[] = aten::size(%13)
%grad_self.13 : Tensor, %58 : Tensor = prim::FusionGroup_5(%Wx, %13, %49, %Uz, %50, %12, %56, %53, %54)
%59 : Float(*, *) = aten::t(%14)
%60 : Float(*, *) = aten::mm(%59, %55)
%61 : Float(*, *) = aten::t(%60)
%62 : Float(*, *) = aten::t(%15)
%63 : Float(*, *) = aten::mm(%62, %58)
%64 : Float(*, *) = aten::t(%63)
return (%44, %grad_self.7, %grad_self.9, %grad_self.13, %61, %64);
}
with prim::FusionGroup_0 = graph(%0 : Float(*, *)
%1 : Float(*, *)
%2 : Float(*, *)
%3 : int[]) {
%4 : int = prim::Constant[value=1]()
%5 : Float(*, *) = aten::mul(%1, %2)
%grad_self.1 : Tensor = aten::_grad_sum_to_size(%5, %3)
%7 : Float(*, *) = aten::neg(%0)
%8 : Float(*, *) = aten::add(%7, %4, %4)
%9 : Float(*, *) = aten::mul(%8, %0)
%10 : Tensor = aten::mul(%9, %grad_self.1)
return (%10);
}
with prim::FusionGroup_1 = graph(%0 : Float(*, *)
%1 : Float(*, *)
%2 : Float(*, *)
%3 : Float(*, *)
%4 : Float(*, *)
%5 : Float(*, *)
%6 : Float(*, *)
%7 : Float(*, *)
%8 : int[]
%9 : int[]
%10 : int[]
%11 : int[]
%12 : int[]
%13 : int[]) {
%14 : int = prim::Constant[value=1]()
%15 : Float(*, *) = aten::neg(%7)
%16 : Float(*, *) = aten::add(%15, %14, %14)
%17 : Float(*, *) = aten::mul(%16, %7)
%18 : Float(*, *) = aten::mul(%2, %2)
%19 : Float(*, *) = aten::neg(%18)
%20 : Float(*, *) = aten::add(%19, %14, %14)
%21 : Float(*, *) = aten::mul(%5, %6)
%grad_other.1 : Tensor = aten::_grad_sum_to_size(%21, %13)
%23 : Float(*, *) = aten::mul(%4, %4)
%24 : Float(*, *) = aten::neg(%23)
%25 : Float(*, *) = aten::add(%24, %14, %14)
%26 : Tensor = aten::mul(%grad_other.1, %25)
%27 : Tensor = aten::add(%3, %26, %14)
%28 : Tensor = aten::_grad_sum_to_size(%27, %12)
%29 : Tensor = aten::mul(%28, %2)
%grad_self.3 : Tensor = aten::_grad_sum_to_size(%29, %11)
%31 : Float(*, *) = aten::neg(%1)
%32 : Float(*, *) = aten::add(%31, %14, %14)
%33 : Float(*, *) = aten::mul(%32, %1)
%34 : Tensor = aten::mul(%33, %grad_self.3)
%35 : Tensor = aten::mul(%28, %1)
%grad_other.3 : Tensor = aten::_grad_sum_to_size(%35, %10)
%37 : Tensor = aten::mul(%grad_other.3, %20)
%38 : Tensor = aten::_grad_sum_to_size(%27, %9)
%39 : Tensor = aten::mul(%38, %0)
%grad_self.5 : Tensor = aten::_grad_sum_to_size(%39, %8)
%41 : Tensor = aten::mul(%17, %grad_self.5)
return (%41, %37, %34);
}
with prim::FusionGroup_2 = graph(%0 : Tensor
%1 : Float(*, *)
%2 : int[]) {
%3 : Tensor = aten::mul(%0, %1)
%grad_self.7 : Tensor = aten::_grad_sum_to_size(%3, %2)
return (%grad_self.7);
}
with prim::FusionGroup_3 = graph(%0 : Tensor
%1 : Float(*, *)
%2 : int[]) {
%3 : Tensor = aten::mul(%0, %1)
%grad_self.9 : Tensor = aten::_grad_sum_to_size(%3, %2)
return (%grad_self.9);
}
with prim::FusionGroup_4 = graph(%0 : Tensor
%1 : Float(*, *)
%2 : Tensor
%3 : Float(*)
%4 : int[]) {
%5 : int = prim::Constant[value=1]()
%6 : Tensor = aten::mul(%2, %3)
%grad_other.7 : Tensor = aten::_grad_sum_to_size(%6, %4)
%8 : Tensor = aten::mul(%0, %1)
%grad_other.11 : Tensor = aten::_grad_sum_to_size(%8, %4)
%10 : Tensor = aten::add(%grad_other.7, %grad_other.11, %5)
return (%10);
}
with prim::FusionGroup_5 = graph(%0 : Float(*, *)
%1 : Float(*)
%2 : Tensor
%3 : Float(*, *)
%4 : Tensor
%5 : Float(*)
%6 : int[]
%7 : int[]
%8 : int[]) {
%9 : int = prim::Constant[value=1]()
%10 : Tensor = aten::mul(%4, %5)
%grad_other.9 : Tensor = aten::_grad_sum_to_size(%10, %7)
%12 : Tensor = aten::mul(%2, %3)
%grad_self.11 : Tensor = aten::_grad_sum_to_size(%12, %8)
%14 : Tensor = aten::mul(%grad_self.11, %1)
%grad_other.13 : Tensor = aten::_grad_sum_to_size(%14, %7)
%16 : Tensor = aten::add(%grad_other.9, %grad_other.13, %9)
%17 : Tensor = aten::mul(%grad_self.11, %0)
%grad_self.13 : Tensor = aten::_grad_sum_to_size(%17, %6)
return (%grad_self.13, %16);
}