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_lstm_cuda-forward.expect
73 lines (73 loc) · 3.32 KB
/
TestFuser.test_lstm_cuda-forward.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
graph(%x : Float(*, *)
%hx : Float(*, *)
%cx : Float(*, *)
%w_ih : Float(*, *)
%w_hh : Float(*, *)
%b_ih : Float(*)
%b_hh : Float(*)) {
%hy : Float(*, *), %cy : Float(*, *) = prim::DifferentiableGraph_0(%cx, %b_hh, %b_ih, %hx, %w_hh, %x, %w_ih)
%9 : (Float(*, *), Float(*, *)) = prim::TupleConstruct(%hy, %cy)
return (%9);
}
with prim::DifferentiableGraph_0 = graph(%0 : Float(*, *)
%1 : Float(*)
%2 : Float(*)
%3 : Float(*, *)
%4 : Float(*, *)
%5 : Float(*, *)
%6 : Float(*, *)) {
%7 : Float(*, *) = aten::t(%6)
%8 : Float(*, *) = aten::mm(%5, %7)
%9 : Float(*, *) = aten::t(%4)
%10 : Float(*, *) = aten::mm(%3, %9)
%11 : int[] = aten::size(%8)
%12 : int[] = aten::size(%10)
%13 : int[] = aten::size(%2)
%14 : int[] = aten::size(%1)
%15 : Tensor[] = prim::ListConstruct(%1, %2, %8, %10)
%16 : Tensor[] = aten::broadcast_tensors(%15)
%17 : Tensor, %18 : Tensor, %19 : Tensor, %20 : Tensor = prim::ListUnpack(%16)
%21 : int[] = prim::BroadcastSizes(%11, %12)
%22 : int[] = prim::BroadcastSizes(%21, %13)
%hy : Float(*, *), %24 : Float(*, *), %cy : Float(*, *), %outgate.1 : Float(*, *), %cellgate.1 : Float(*, *), %forgetgate.1 : Float(*, *), %ingate.1 : Float(*, *) = prim::FusionGroup_0(%0, %20, %19, %18, %17)
%30 : int[] = aten::size(%0)
%31 : int[] = aten::size(%cellgate.1)
%32 : int[] = aten::size(%forgetgate.1)
%33 : int[] = aten::size(%ingate.1)
%34 : int[] = prim::BroadcastSizes(%32, %30)
%35 : int[] = prim::BroadcastSizes(%33, %31)
return (%hy, %cy, %7, %9, %11, %12, %21, %13, %22, %14, %ingate.1, %forgetgate.1, %cellgate.1, %outgate.1, %34, %35, %24);
}
with prim::FusionGroup_0 = graph(%0 : Float(*, *)
%1 : Tensor
%2 : Tensor
%3 : Tensor
%4 : Tensor) {
%5 : Float(*, *), %6 : Float(*, *), %7 : Float(*, *), %8 : Float(*, *) = prim::ConstantChunk[chunks=4, dim=1](%4)
%9 : Float(*, *), %10 : Float(*, *), %11 : Float(*, *), %12 : Float(*, *) = prim::ConstantChunk[chunks=4, dim=1](%3)
%13 : Float(*, *), %14 : Float(*, *), %15 : Float(*, *), %16 : Float(*, *) = prim::ConstantChunk[chunks=4, dim=1](%2)
%17 : Float(*, *), %18 : Float(*, *), %19 : Float(*, *), %20 : Float(*, *) = prim::ConstantChunk[chunks=4, dim=1](%1)
%21 : int = prim::Constant[value=1]()
%22 : Float(*, *) = aten::add(%13, %17, %21)
%23 : Float(*, *) = aten::add(%14, %18, %21)
%24 : Float(*, *) = aten::add(%15, %19, %21)
%25 : Float(*, *) = aten::add(%16, %20, %21)
%26 : Float(*, *) = aten::add(%22, %9, %21)
%27 : Float(*, *) = aten::add(%23, %10, %21)
%28 : Float(*, *) = aten::add(%24, %11, %21)
%29 : Float(*, *) = aten::add(%25, %12, %21)
%30 : Float(*, *) = aten::add(%26, %5, %21)
%31 : Float(*, *) = aten::add(%27, %6, %21)
%32 : Float(*, *) = aten::add(%28, %7, %21)
%33 : Float(*, *) = aten::add(%29, %8, %21)
%ingate.1 : Float(*, *) = aten::sigmoid(%30)
%forgetgate.1 : Float(*, *) = aten::sigmoid(%31)
%cellgate.1 : Float(*, *) = aten::tanh(%32)
%outgate.1 : Float(*, *) = aten::sigmoid(%33)
%38 : Float(*, *) = aten::mul(%forgetgate.1, %0)
%39 : Float(*, *) = aten::mul(%ingate.1, %cellgate.1)
%cy : Float(*, *) = aten::add(%38, %39, %21)
%41 : Float(*, *) = aten::tanh(%cy)
%hy : Float(*, *) = aten::mul(%outgate.1, %41)
return (%hy, %41, %cy, %outgate.1, %cellgate.1, %forgetgate.1, %ingate.1);
}