Skip to content

Commit 93dda56

Browse files
committed
Fix the issue with appending logs in the logging test; tiny cleanup; cuda test expectation
Signed-off-by: Lukasz Stafiniak <lukstafi@gmail.com>
1 parent b2a4d7f commit 93dda56

File tree

4 files changed

+56
-230
lines changed

4 files changed

+56
-230
lines changed

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ opam install cudajit # for CUDA backend
102102
**Important Debug Settings**:
103103
- `output_debug_files_in_build_directory=true` - enables `build_files/` generation
104104
- `debug_log_from_routines=true` - enables runtime logging
105-
- `debug_log_to_stream_files=true` - writes logs to `log_files/<backend>-<deviceF>-<stream>.log`
105+
- `debug_log_to_stream_files=true` - writes logs to `log_files/<backend>-<device>-<stream>.log`
106106
- `clean_up_artifacts_on_startup=false` - preserves debug files between runs
107107

108108
### Backend Development

test/config/ocannl_config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ print_decimals_precision=2
77
prefer_backend_uniformity=true
88
default_prec=single
99
fixed_state_for_init=42
10-
# Don't delete files as they might be needed by follow-up rules.
10+
# Don't delete files as tests might be running in parallel deleting each-other's files.
1111
clean_up_artifacts_on_startup=false

test/operations/dune

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
; Solution: Create intermediate targets that guarantee file generation
2020
; Step 1: Run the test and create a backend-specific sentinel file when done
21+
2122
(rule
2223
(targets micrograd_demo-%{read:config/ocannl_backend.txt}.done)
2324
(action
@@ -27,10 +28,13 @@
2728
"--ocannl_debug_backend=text"
2829
"--ocannl_log_file_stem=micrograd_demo_logging"
2930
"--ocannl_log_main_domain_to_stdout=false"
30-
"--ocannl_debug_log_to_stream_files=true")
31+
"--ocannl_debug_log_to_stream_files=true"
32+
; We have to clean up to avoid appending to results of a previous run
33+
"--ocannl_clean_up_artifacts_on_startup=true")
3134
(write-file %{targets} "completed\n"))))
3235

3336
; Step 2: Process the log file, depending on the backend-specific sentinel
37+
3438
(rule
3539
(deps micrograd_demo-%{read:config/ocannl_backend.txt}.done)
3640
(target "%{read:config/ocannl_backend.txt}-0-0.log.actual")
@@ -77,6 +81,7 @@
7781
(pps ppx_here ppx_ocannl)))
7882

7983
; Generate both ll files and actual files in one rule using no-infer
84+
8085
(rule
8186
(target n3_fwd_with_prec-unoptimized.ll.actual)
8287
(action
@@ -151,4 +156,4 @@
151156
(modules hello_world_op zero2hero_1of7 primitive_ops test_threefry4x32)
152157
(preprocess
153158
(pps ppx_here ppx_expect ppx_inline_test ppx_ocannl))
154-
(modes best))
159+
(modes best))

test/operations/micrograd_demo_logging-cuda-0-0.log.expected

Lines changed: 47 additions & 226 deletions
Original file line numberDiff line numberDiff line change
@@ -10,259 +10,80 @@ float *a &[1] = 0xNNNN
1010
float *a_grad &[1] = 0xNNNN
1111
float *b &[1] = 0xNNNN
1212
float *b_grad &[1] = 0xNNNN
13-
float *e &[1] = 0xNNNN
14-
float *e_grad &[1] = 0xNNNN
15-
float *f &[1] = 0xNNNN
16-
float *f_grad &[1] = 0xNNNN
17-
float *n10 &[1] = 0xNNNN
18-
float *n11 &[1] = 0xNNNN
19-
float *n12 &[1] = 0xNNNN
20-
float *n12_grad &[1] = 0xNNNN
21-
float *n14_d &[1] = 0xNNNN
22-
float *n14_d_grad &[1] = 0xNNNN
23-
float *n17 &[1] = 0xNNNN
24-
float *n17_grad &[1] = 0xNNNN
25-
float *n19_c &[1] = 0xNNNN
26-
float *n19_c_grad &[1] = 0xNNNN
27-
float *n22 &[1] = 0xNNNN
28-
float *n22_grad &[1] = 0xNNNN
29-
float *n25 &[1] = 0xNNNN
30-
float *n25_grad &[1] = 0xNNNN
31-
float *n27 &[1] = 0xNNNN
32-
float *n27_grad &[1] = 0xNNNN
33-
float *n29_c &[1] = 0xNNNN
34-
float *n29_c_grad &[1] = 0xNNNN
35-
float *n31 &[1] = 0xNNNN
36-
float *n31_grad &[1] = 0xNNNN
37-
float *n33_relu &[1] = 0xNNNN
38-
float *n33_relu_grad &[1] = 0xNNNN
39-
float *n36 &[1] = 0xNNNN
40-
float *n36_grad &[1] = 0xNNNN
41-
float *n38 &[1] = 0xNNNN
42-
float *n38_grad &[1] = 0xNNNN
43-
float *n40_d &[1] = 0xNNNN
44-
float *n40_d_grad &[1] = 0xNNNN
45-
float *n42 &[1] = 0xNNNN
46-
float *n42_grad &[1] = 0xNNNN
47-
float *n44_relu &[1] = 0xNNNN
48-
float *n44_relu_grad &[1] = 0xNNNN
49-
float *n47 &[1] = 0xNNNN
50-
float *n47_grad &[1] = 0xNNNN
51-
float *n49 &[1] = 0xNNNN
52-
float *n49_grad &[1] = 0xNNNN
53-
float *n4_c &[1] = 0xNNNN
54-
float *n4_c_grad &[1] = 0xNNNN
55-
float *n51_d &[1] = 0xNNNN
56-
float *n51_d_grad &[1] = 0xNNNN
57-
float *n58 &[1] = 0xNNNN
58-
float *n60_g &[1] = 0xNNNN
59-
float *n60_g_grad &[1] = 0xNNNN
60-
float *n63 &[1] = 0xNNNN
61-
float *n63_grad &[1] = 0xNNNN
62-
float *n66 &[1] = 0xNNNN
63-
float *n68 &[1] = 0xNNNN
64-
float *n69 &[1] = 0xNNNN
65-
float *n7 &[1] = 0xNNNN
66-
float *n70_g &[1] = 0xNNNN
67-
float *n70_g_grad &[1] = 0xNNNN
68-
float *n7_grad &[1] = 0xNNNN
13+
float *g &[1] = 0xNNNN
6914
COMMENT: g forward and gradient update
70-
# n22[0] := (-1 * a[0]);
71-
n22[0]{=MAYBE UNINITIALIZED} = 4000e-3 = ((float)(-1) * a[0]{=-4000e-3})
7215
# n4_c[0] := (a[0] + b[0]);
7316
n4_c[0]{=MAYBE UNINITIALIZED} = -2000e-3 = (a[0]{=-4000e-3} + b[0]{=2000e-3})
74-
# n17[0] := (n4_c[0] + n4_c[0]);
75-
n17[0]{=MAYBE UNINITIALIZED} = -4000e-3 = (n4_c[0]{=-2000e-3} + n4_c[0]{=-2000e-3})
76-
# n19_c[0] := (n17[0] + 1);
77-
n19_c[0]{=MAYBE UNINITIALIZED} = -3000e-3 = (n17[0]{=-4000e-3} + (float)(1))
78-
# n25[0] := (n19_c[0] + 1);
79-
n25[0]{=MAYBE UNINITIALIZED} = -2000e-3 = (n19_c[0]{=-3000e-3} + (float)(1))
80-
# n27[0] := (n25[0] + n19_c[0]);
81-
n27[0]{=MAYBE UNINITIALIZED} = -5000e-3 = (n25[0]{=-2000e-3} + n19_c[0]{=-3000e-3})
82-
# n29_c[0] := (n27[0] + n22[0]);
83-
n29_c[0]{=MAYBE UNINITIALIZED} = -1000e-3 = (n27[0]{=-5000e-3} + n22[0]{=4000e-3})
17+
# n19_c[0] := ((n4_c[0] + n4_c[0]) + 1);
18+
n19_c[0]{=MAYBE UNINITIALIZED} = -3000e-3 = ((n4_c[0]{=-2000e-3} + n4_c[0]{=-2000e-3}) + (float)(1))
8419
# n42[0] := (b[0] - a[0]);
8520
n42[0]{=MAYBE UNINITIALIZED} = 6000e-3 = (b[0]{=2000e-3} - a[0]{=-4000e-3})
86-
# n44_relu[0] := relu(n42[0]);
87-
n44_relu[0]{=MAYBE UNINITIALIZED} = 6000e-3 = fmaxf(0.0, n42[0]{=6000e-3})
8821
# n31[0] := (b[0] + a[0]);
8922
n31[0]{=MAYBE UNINITIALIZED} = -2000e-3 = (b[0]{=2000e-3} + a[0]{=-4000e-3})
90-
# n33_relu[0] := relu(n31[0]);
91-
n33_relu[0]{=MAYBE UNINITIALIZED} = 0e-3 = fmaxf(0.0, n31[0]{=-2000e-3})
92-
# n7[0] := (b[0] * (b[0] * b[0]));
93-
n7[0]{=MAYBE UNINITIALIZED} = 8000e-3 = (b[0]{=2000e-3} * (b[0]{=2000e-3} * b[0]{=2000e-3}))
94-
# n12[0] := (a[0] * b[0]);
95-
n12[0]{=MAYBE UNINITIALIZED} = -8000e-3 = (a[0]{=-4000e-3} * b[0]{=2000e-3})
96-
# n14_d[0] := (n12[0] + n7[0]);
97-
n14_d[0]{=MAYBE UNINITIALIZED} = 0e-3 = (n12[0]{=-8000e-3} + n7[0]{=8000e-3})
98-
# n36[0] := (n14_d[0] * 2);
99-
n36[0]{=MAYBE UNINITIALIZED} = 0e-3 = (n14_d[0]{=0e-3} * (float)(2))
100-
# n38[0] := (n14_d[0] + n36[0]);
101-
n38[0]{=MAYBE UNINITIALIZED} = 0e-3 = (n14_d[0]{=0e-3} + n36[0]{=0e-3})
102-
# n40_d[0] := (n38[0] + n33_relu[0]);
103-
n40_d[0]{=MAYBE UNINITIALIZED} = 0e-3 = (n38[0]{=0e-3} + n33_relu[0]{=0e-3})
104-
# n47[0] := (3 * n40_d[0]);
105-
n47[0]{=MAYBE UNINITIALIZED} = 0e-3 = ((float)(3) * n40_d[0]{=0e-3})
106-
# n49[0] := (n40_d[0] + n47[0]);
107-
n49[0]{=MAYBE UNINITIALIZED} = 0e-3 = (n40_d[0]{=0e-3} + n47[0]{=0e-3})
108-
# n51_d[0] := (n49[0] + n44_relu[0]);
109-
n51_d[0]{=MAYBE UNINITIALIZED} = 6000e-3 = (n49[0]{=0e-3} + n44_relu[0]{=6000e-3})
110-
# e[0] := (n29_c[0] - n51_d[0]);
111-
e[0]{=MAYBE UNINITIALIZED} = -7000e-3 = (n29_c[0]{=-1000e-3} - n51_d[0]{=6000e-3})
23+
# n14_d[0] := fma(a[0], b[0], (b[0] * (b[0] * b[0])));
24+
n14_d[0]{=MAYBE UNINITIALIZED} = 0e-3 = fmaf(a[0]{=-4000e-3},b[0]{=2000e-3},(b[0]{=2000e-3} * (b[0]{=2000e-3} * b[0]{=2000e-3})))
25+
# n40_d[0] := (fma(n14_d[0], 2, n14_d[0]) + relu(n31[0]));
26+
n40_d[0]{=MAYBE UNINITIALIZED} = 0e-3 = (fmaf(n14_d[0]{=0e-3},(float)(2),n14_d[0]{=0e-3}) + fmaxf(0.0, n31[0]{=-2000e-3}))
27+
# e[0] := (fma(-1, a[0], ((n19_c[0] + 1) + n19_c[0])) - (fma(3, n40_d[0], n40_d[0]) + relu(n42[0])));
28+
e[0]{=MAYBE UNINITIALIZED} = -7000e-3 = (fmaf((float)(-1),a[0]{=-4000e-3},((n19_c[0]{=-3000e-3} + (float)(1)) + n19_c[0]{=-3000e-3})) - (fmaf((float)(3),n40_d[0]{=0e-3},n40_d[0]{=0e-3}) + fmaxf(0.0, n42[0]{=6000e-3})))
11229
# f[0] := (e[0] * e[0]);
11330
f[0]{=MAYBE UNINITIALIZED} = 49000e-3 = (e[0]{=-7000e-3} * e[0]{=-7000e-3})
114-
# n60_g[0] := (f[0] / 2);
115-
n60_g[0]{=MAYBE UNINITIALIZED} = 24500e-3 = (f[0]{=49000e-3} / (float)(2))
116-
# n63[0] := (10 / f[0]);
117-
n63[0]{=MAYBE UNINITIALIZED} = 204e-3 = ((float)(10) / f[0]{=49000e-3})
118-
# n70_g[0] := (n60_g[0] + n63[0]);
119-
n70_g[0]{=MAYBE UNINITIALIZED} = 24704e-3 = (n60_g[0]{=24500e-3} + n63[0]{=204e-3})
31+
# g[0] := ((f[0] / 2) + (10 / f[0]));
32+
g[0]{=MAYBE UNINITIALIZED} = 24704e-3 = ((f[0]{=49000e-3} / (float)(2)) + ((float)(10) / f[0]{=49000e-3}))
12033
COMMENT: g zero grads and backprop
121-
# n22_grad := 0
122-
n22_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
12334
# a_grad := 0
12435
a_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
12536
# b_grad := 0
12637
b_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
12738
# n4_c_grad := 0
12839
n4_c_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
129-
# n17_grad := 0
130-
n17_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
13140
# n19_c_grad := 0
13241
n19_c_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
133-
# n25_grad := 0
134-
n25_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
135-
# n27_grad := 0
136-
n27_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
137-
# n29_c_grad := 0
138-
n29_c_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
139-
# n42_grad := 0
140-
n42_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
141-
# n44_relu_grad := 0
142-
n44_relu_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
143-
# n31_grad := 0
144-
n31_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
145-
# n33_relu_grad := 0
146-
n33_relu_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
147-
# n7_grad := 0
148-
n7_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
149-
# n12_grad := 0
150-
n12_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
15142
# n14_d_grad := 0
15243
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
153-
# n36_grad := 0
154-
n36_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
155-
# n38_grad := 0
156-
n38_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
15744
# n40_d_grad := 0
15845
n40_d_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
159-
# n47_grad := 0
160-
n47_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
161-
# n49_grad := 0
162-
n49_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
163-
# n51_d_grad := 0
164-
n51_d_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
165-
# e_grad := 0
166-
e_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
16746
# f_grad := 0
16847
f_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
169-
# n60_g_grad := 0
170-
n60_g_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
171-
# n63_grad := 0
172-
n63_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
173-
# n70_g_grad := 0
174-
n70_g_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
175-
# n70_g.grad[0] := 1;
176-
n70_g_grad[0]{=MAYBE UNINITIALIZED} = 1000e-3 = (float)(1)
177-
# n60_g.grad[0] := (n60_g.grad[0] + n70_g.grad[0]);
178-
n60_g_grad[0]{=MAYBE UNINITIALIZED} = 1000e-3 = (n60_g_grad[0]{=0e-3} + n70_g_grad[0]{=1000e-3})
179-
# n63.grad[0] := (n63.grad[0] + n70_g.grad[0]);
180-
n63_grad[0]{=MAYBE UNINITIALIZED} = 1000e-3 = (n63_grad[0]{=0e-3} + n70_g_grad[0]{=1000e-3})
181-
# n66[0] := (f[0] * f[0]);
182-
n66[0]{=MAYBE UNINITIALIZED} = 2401000e-3 = (f[0]{=49000e-3} * f[0]{=49000e-3})
183-
# n68[0] := -10;
184-
n68[0]{=MAYBE UNINITIALIZED} = -10000e-3 = (float)(-10)
185-
# n69[0] := (n68[0] / n66[0]);
186-
n69[0]{=MAYBE UNINITIALIZED} = -4e-3 = (n68[0]{=-10000e-3} / n66[0]{=2401000e-3})
187-
# f.grad[0] := fma(n63.grad[0], n69[0], f.grad[0]);
188-
f_grad[0]{=MAYBE UNINITIALIZED} = -4e-3 = fmaf(n63_grad[0]{=1000e-3},n69[0]{=-4e-3},f_grad[0]{=0e-3})
189-
# f.grad[0] := (f.grad[0] + (n60_g.grad[0] / 2));
190-
f_grad[0]{=MAYBE UNINITIALIZED} = 495e-3 = (f_grad[0]{=-4e-3} + (n60_g_grad[0]{=1000e-3} / (float)(2)))
191-
# n58[0] := (2 * e[0]);
192-
n58[0]{=MAYBE UNINITIALIZED} = -14000e-3 = ((float)(2) * e[0]{=-7000e-3})
193-
# e.grad[0] := fma(n58[0], f.grad[0], e.grad[0]);
194-
e_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = fmaf(n58[0]{=-14000e-3},f_grad[0]{=495e-3},e_grad[0]{=0e-3})
195-
# n29_c.grad[0] := (n29_c.grad[0] + e.grad[0]);
196-
n29_c_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = (n29_c_grad[0]{=0e-3} + e_grad[0]{=-6941e-3})
197-
# n51_d.grad[0] := (n51_d.grad[0] - e.grad[0]);
198-
n51_d_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (n51_d_grad[0]{=0e-3} - e_grad[0]{=-6941e-3})
199-
# n49.grad[0] := (n49.grad[0] + n51_d.grad[0]);
200-
n49_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (n49_grad[0]{=0e-3} + n51_d_grad[0]{=6941e-3})
201-
# n44_relu.grad[0] := (n44_relu.grad[0] + n51_d.grad[0]);
202-
n44_relu_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (n44_relu_grad[0]{=0e-3} + n51_d_grad[0]{=6941e-3})
203-
# n40_d.grad[0] := (n40_d.grad[0] + n49.grad[0]);
204-
n40_d_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (n40_d_grad[0]{=0e-3} + n49_grad[0]{=6941e-3})
205-
# n47.grad[0] := (n47.grad[0] + n49.grad[0]);
206-
n47_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (n47_grad[0]{=0e-3} + n49_grad[0]{=6941e-3})
207-
# n40_d.grad[0] := fma(3, n47.grad[0], n40_d.grad[0]);
208-
n40_d_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = fmaf((float)(3),n47_grad[0]{=6941e-3},n40_d_grad[0]{=6941e-3})
209-
# n38.grad[0] := (n38.grad[0] + n40_d.grad[0]);
210-
n38_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (n38_grad[0]{=0e-3} + n40_d_grad[0]{=27766e-3})
211-
# n33_relu.grad[0] := (n33_relu.grad[0] + n40_d.grad[0]);
212-
n33_relu_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (n33_relu_grad[0]{=0e-3} + n40_d_grad[0]{=27766e-3})
213-
# n14_d.grad[0] := (n14_d.grad[0] + n38.grad[0]);
214-
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (n14_d_grad[0]{=0e-3} + n38_grad[0]{=27766e-3})
215-
# n36.grad[0] := (n36.grad[0] + n38.grad[0]);
216-
n36_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (n36_grad[0]{=0e-3} + n38_grad[0]{=27766e-3})
217-
# n14_d.grad[0] := fma(n36.grad[0], 2, n14_d.grad[0]);
218-
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 83300e-3 = fmaf(n36_grad[0]{=27766e-3},(float)(2),n14_d_grad[0]{=27766e-3})
219-
# n12.grad[0] := (n12.grad[0] + n14_d.grad[0]);
220-
n12_grad[0]{=MAYBE UNINITIALIZED} = 83300e-3 = (n12_grad[0]{=0e-3} + n14_d_grad[0]{=83300e-3})
221-
# n7.grad[0] := (n7.grad[0] + n14_d.grad[0]);
222-
n7_grad[0]{=MAYBE UNINITIALIZED} = 83300e-3 = (n7_grad[0]{=0e-3} + n14_d_grad[0]{=83300e-3})
223-
# a.grad[0] := fma(n12.grad[0], b[0], a.grad[0]);
224-
a_grad[0]{=MAYBE UNINITIALIZED} = 166600e-3 = fmaf(n12_grad[0]{=83300e-3},b[0]{=2000e-3},a_grad[0]{=0e-3})
225-
# b.grad[0] := fma(a[0], n12.grad[0], b.grad[0]);
226-
b_grad[0]{=MAYBE UNINITIALIZED} = -333201e-3 = fmaf(a[0]{=-4000e-3},n12_grad[0]{=83300e-3},b_grad[0]{=0e-3})
227-
# n10[0] := (b[0] * b[0]);
228-
n10[0]{=MAYBE UNINITIALIZED} = 4000e-3 = (b[0]{=2000e-3} * b[0]{=2000e-3})
229-
# n11[0] := (3 * n10[0]);
230-
n11[0]{=MAYBE UNINITIALIZED} = 12000e-3 = ((float)(3) * n10[0]{=4000e-3})
231-
# b.grad[0] := fma(n11[0], n7.grad[0], b.grad[0]);
232-
b_grad[0]{=MAYBE UNINITIALIZED} = 666402e-3 = fmaf(n11[0]{=12000e-3},n7_grad[0]{=83300e-3},b_grad[0]{=-333201e-3})
233-
# n31.grad[0] := (n31.grad[0] + relu_gate(n31[0], n33_relu.grad[0]));
234-
n31_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (n31_grad[0]{=0e-3} + ((n31[0]{=-2000e-3} > 0.0f) ? n33_relu_grad[0]{=27766e-3} : 0.0f))
235-
# b.grad[0] := (b.grad[0] + n31.grad[0]);
236-
b_grad[0]{=MAYBE UNINITIALIZED} = 666402e-3 = (b_grad[0]{=666402e-3} + n31_grad[0]{=0e-3})
237-
# a.grad[0] := (a.grad[0] + n31.grad[0]);
238-
a_grad[0]{=MAYBE UNINITIALIZED} = 166600e-3 = (a_grad[0]{=166600e-3} + n31_grad[0]{=0e-3})
239-
# n42.grad[0] := (n42.grad[0] + relu_gate(n42[0], n44_relu.grad[0]));
240-
n42_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (n42_grad[0]{=0e-3} + ((n42[0]{=6000e-3} > 0.0f) ? n44_relu_grad[0]{=6941e-3} : 0.0f))
241-
# b.grad[0] := (b.grad[0] + n42.grad[0]);
242-
b_grad[0]{=MAYBE UNINITIALIZED} = 673344e-3 = (b_grad[0]{=666402e-3} + n42_grad[0]{=6941e-3})
243-
# a.grad[0] := (a.grad[0] - n42.grad[0]);
244-
a_grad[0]{=MAYBE UNINITIALIZED} = 159658e-3 = (a_grad[0]{=166600e-3} - n42_grad[0]{=6941e-3})
245-
# n27.grad[0] := (n27.grad[0] + n29_c.grad[0]);
246-
n27_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = (n27_grad[0]{=0e-3} + n29_c_grad[0]{=-6941e-3})
247-
# n22.grad[0] := (n22.grad[0] + n29_c.grad[0]);
248-
n22_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = (n22_grad[0]{=0e-3} + n29_c_grad[0]{=-6941e-3})
249-
# n25.grad[0] := (n25.grad[0] + n27.grad[0]);
250-
n25_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = (n25_grad[0]{=0e-3} + n27_grad[0]{=-6941e-3})
251-
# n19_c.grad[0] := (n19_c.grad[0] + n27.grad[0]);
252-
n19_c_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = (n19_c_grad[0]{=0e-3} + n27_grad[0]{=-6941e-3})
253-
# n19_c.grad[0] := (n19_c.grad[0] + n25.grad[0]);
254-
n19_c_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = (n19_c_grad[0]{=-6941e-3} + n25_grad[0]{=-6941e-3})
255-
# n17.grad[0] := (n17.grad[0] + n19_c.grad[0]);
256-
n17_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = (n17_grad[0]{=0e-3} + n19_c_grad[0]{=-13883e-3})
257-
# n4_c.grad[0] := (n4_c.grad[0] + n17.grad[0]);
258-
n4_c_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = (n4_c_grad[0]{=0e-3} + n17_grad[0]{=-13883e-3})
259-
# n4_c.grad[0] := (n4_c.grad[0] + n17.grad[0]);
260-
n4_c_grad[0]{=MAYBE UNINITIALIZED} = -27766e-3 = (n4_c_grad[0]{=-13883e-3} + n17_grad[0]{=-13883e-3})
48+
# f.grad[0] := fma(1, (-10 / (f[0] * f[0])), f.grad[0]);
49+
f_grad[0]{=MAYBE UNINITIALIZED} = -4e-3 = fmaf((float)(1),((float)(-10) / (f[0]{=49000e-3} * f[0]{=49000e-3})),f_grad[0]{=0e-3})
50+
# f.grad[0] := (f.grad[0] + 0.5);
51+
f_grad[0]{=MAYBE UNINITIALIZED} = 495e-3 = (f_grad[0]{=-4e-3} + (float)(0.5))
52+
# n40_d.grad[0] := fma(-1, ((2 * e[0]) * f.grad[0]), n40_d.grad[0]);
53+
n40_d_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = fmaf((float)(-1),(((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3}),n40_d_grad[0]{=0e-3})
54+
# n40_d.grad[0] := fma(3, (-1 * ((2 * e[0]) * f.grad[0])), n40_d.grad[0]);
55+
n40_d_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = fmaf((float)(3),((float)(-1) * (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3})),n40_d_grad[0]{=6941e-3})
56+
# n14_d.grad[0] := (n14_d.grad[0] + n40_d.grad[0]);
57+
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (n14_d_grad[0]{=0e-3} + n40_d_grad[0]{=27766e-3})
58+
# n14_d.grad[0] := fma(n40_d.grad[0], 2, n14_d.grad[0]);
59+
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 83300e-3 = fmaf(n40_d_grad[0]{=27766e-3},(float)(2),n14_d_grad[0]{=27766e-3})
60+
# a.grad[0] := fma(n14_d.grad[0], b[0], a.grad[0]);
61+
a_grad[0]{=MAYBE UNINITIALIZED} = 166600e-3 = fmaf(n14_d_grad[0]{=83300e-3},b[0]{=2000e-3},a_grad[0]{=0e-3})
62+
# b.grad[0] := fma(a[0], n14_d.grad[0], b.grad[0]);
63+
b_grad[0]{=MAYBE UNINITIALIZED} = -333201e-3 = fmaf(a[0]{=-4000e-3},n14_d_grad[0]{=83300e-3},b_grad[0]{=0e-3})
64+
# b.grad[0] := fma((3 * (b[0] * b[0])), n14_d.grad[0], b.grad[0]);
65+
b_grad[0]{=MAYBE UNINITIALIZED} = 666402e-3 = fmaf(((float)(3) * (b[0]{=2000e-3} * b[0]{=2000e-3})),n14_d_grad[0]{=83300e-3},b_grad[0]{=-333201e-3})
66+
# b.grad[0] := (b.grad[0] + relu_gate(n31[0], n40_d.grad[0]));
67+
b_grad[0]{=MAYBE UNINITIALIZED} = 666402e-3 = (b_grad[0]{=666402e-3} + ((n31[0]{=-2000e-3} > 0.0f) ? n40_d_grad[0]{=27766e-3} : 0.0f))
68+
# a.grad[0] := (a.grad[0] + relu_gate(n31[0], n40_d.grad[0]));
69+
a_grad[0]{=MAYBE UNINITIALIZED} = 166600e-3 = (a_grad[0]{=166600e-3} + ((n31[0]{=-2000e-3} > 0.0f) ? n40_d_grad[0]{=27766e-3} : 0.0f))
70+
# b.grad[0] := (b.grad[0] + relu_gate(n42[0], (-1 * ((2 * e[0]) * f.grad[0]))));
71+
b_grad[0]{=MAYBE UNINITIALIZED} = 673344e-3 = (b_grad[0]{=666402e-3} + ((n42[0]{=6000e-3} > 0.0f) ? ((float)(-1) * (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3})) : 0.0f))
72+
# a.grad[0] := (a.grad[0] - relu_gate(n42[0], (-1 * ((2 * e[0]) * f.grad[0]))));
73+
a_grad[0]{=MAYBE UNINITIALIZED} = 159658e-3 = (a_grad[0]{=166600e-3} - ((n42[0]{=6000e-3} > 0.0f) ? ((float)(-1) * (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3})) : 0.0f))
74+
# n19_c.grad[0] := fma((2 * e[0]), f.grad[0], n19_c.grad[0]);
75+
n19_c_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = fmaf(((float)(2) * e[0]{=-7000e-3}),f_grad[0]{=495e-3},n19_c_grad[0]{=0e-3})
76+
# n19_c.grad[0] := fma((2 * e[0]), f.grad[0], n19_c.grad[0]);
77+
n19_c_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = fmaf(((float)(2) * e[0]{=-7000e-3}),f_grad[0]{=495e-3},n19_c_grad[0]{=-6941e-3})
78+
# n4_c.grad[0] := (n4_c.grad[0] + n19_c.grad[0]);
79+
n4_c_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = (n4_c_grad[0]{=0e-3} + n19_c_grad[0]{=-13883e-3})
80+
# n4_c.grad[0] := (n4_c.grad[0] + n19_c.grad[0]);
81+
n4_c_grad[0]{=MAYBE UNINITIALIZED} = -27766e-3 = (n4_c_grad[0]{=-13883e-3} + n19_c_grad[0]{=-13883e-3})
26182
# a.grad[0] := (a.grad[0] + n4_c.grad[0]);
26283
a_grad[0]{=MAYBE UNINITIALIZED} = 131892e-3 = (a_grad[0]{=159658e-3} + n4_c_grad[0]{=-27766e-3})
26384
# b.grad[0] := (b.grad[0] + n4_c.grad[0]);
26485
b_grad[0]{=MAYBE UNINITIALIZED} = 645577e-3 = (b_grad[0]{=673344e-3} + n4_c_grad[0]{=-27766e-3})
265-
# a.grad[0] := fma(-1, n22.grad[0], a.grad[0]);
266-
a_grad[0]{=MAYBE UNINITIALIZED} = 138833e-3 = fmaf((float)(-1),n22_grad[0]{=-6941e-3},a_grad[0]{=131892e-3})
86+
# a.grad[0] := fma(-1, ((2 * e[0]) * f.grad[0]), a.grad[0]);
87+
a_grad[0]{=MAYBE UNINITIALIZED} = 138833e-3 = fmaf((float)(-1),(((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3}),a_grad[0]{=131892e-3})
26788
COMMENT: end
26889
COMMENT: end

0 commit comments

Comments
 (0)