Skip to content

Commit 330b950

Browse files
committed
Logging: fixes on the Linux side
cuda logging on Windows still broken because of stdout capture issue. Signed-off-by: Lukasz Stafiniak <lukstafi@gmail.com>
1 parent 2c2690b commit 330b950

File tree

3 files changed

+28
-22
lines changed

3 files changed

+28
-22
lines changed

arrayjit/lib/cuda_backend.ml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,13 @@ end) : Ir.Backend_impl.Lowered_backend = struct
449449
let pp_log_statement ~log_param_c_expr_doc ~base_message_literal ~args_docs =
450450
let open PPrint in
451451
let format_string_literal =
452-
!Utils.captured_log_prefix ^ "%d: "
453-
^ String.substr_replace_all base_message_literal ~pattern:"\n" ~with_:"$" ^ "\\n"
452+
let res = String.substr_replace_all base_message_literal ~pattern:"\n" ~with_:"$" in
453+
let res =
454+
if for_log_trace_tree && String.is_suffix res ~suffix:"$" then
455+
String.drop_suffix res 1 ^ "\\n"
456+
else res
457+
in
458+
!Utils.captured_log_prefix ^ "%d: " ^ res
454459
in
455460
let all_args =
456461
match log_param_c_expr_doc with

arrayjit/lib/gcc_backend.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,8 @@ let%track3_sexp link_compiled ~merge_buffer ~runner_label ctx_arrays (code : pro
785785
let%diagn_sexp work () : unit =
786786
[%log_result name];
787787
Indexing.apply run_variadic ();
788-
if Utils.debug_log_from_routines () then Utils.log_debug_routine_file log_file_name
788+
if Utils.debug_log_from_routines () then
789+
Utils.log_debug_routine_file ~log_file_name ~stream_name:runner_label
789790
in
790791
( Indexing.lowered_bindings code.bindings run_variadic,
791792
Task.Task

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

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ n42[0]{=MAYBE UNINITIALIZED} = 6000e-3 = (b[0]{=2000e-3} - a[0]{=-4000e-3})
1414
# n31[0] := (b[0] + a[0]);
1515
n31[0]{=MAYBE UNINITIALIZED} = -2000e-3 = (b[0]{=2000e-3} + a[0]{=-4000e-3})
1616
# n14_d[0] := fma(a[0], b[0], (b[0] * (b[0] * b[0])));
17-
n14_d[0]{=MAYBE UNINITIALIZED} = 0e-3 = fma(a[0]{=-4000e-3}, b[0]{=2000e-3}, (b[0]{=2000e-3} * (b[0]{=2000e-3} * b[0]{=2000e-3})))
17+
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})))
1818
# n40_d[0] := (fma(n14_d[0], 2, n14_d[0]) + relu(n31[0]));
19-
n40_d[0]{=MAYBE UNINITIALIZED} = 0e-3 = (fma(n14_d[0]{=0e-3}, (float)(2), n14_d[0]{=0e-3}) + max(0.0f, n31[0]{=-2000e-3}))
19+
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}))
2020
# e[0] :=$ (fma(-1, a[0], ((n19_c[0] + 1) + n19_c[0])) -$ (fma(3, n40_d[0], n40_d[0]) + relu(n42[0])));
21-
e[0]{=MAYBE UNINITIALIZED} = -7000e-3 = (fma((float)(-1), a[0]{=-4000e-3}, ((n19_c[0]{=-3000e-3} + (float)(1)) + n19_c[0]{=-3000e-3})) - (fma((float)(3), n40_d[0]{=0e-3}, n40_d[0]{=0e-3}) + max(0.0f, n42[0]{=6000e-3})))
21+
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})))
2222
# f[0] := (e[0] * e[0]);
2323
f[0]{=MAYBE UNINITIALIZED} = 49000e-3 = (e[0]{=-7000e-3} * e[0]{=-7000e-3})
2424
# g[0] := ((f[0] / 2) + (10 / f[0]));
@@ -42,44 +42,44 @@ f_grad[0]{=MAYBE UNINITIALIZED} = 0e-3 = (float)(0)
4242
COMMENT: end
4343
COMMENT: g bprop
4444
# f.grad[0] := fma(1, (-10 / (f[0] * f[0])), f.grad[0]);
45-
f_grad[0]{=MAYBE UNINITIALIZED} = -4e-3 = fma((float)(1), ((float)(-10) / (f[0]{=49000e-3} * f[0]{=49000e-3})), f_grad[0]{=0e-3})
45+
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})
4646
# f.grad[0] := (f.grad[0] + 0.5);
4747
f_grad[0]{=MAYBE UNINITIALIZED} = 495e-3 = (f_grad[0]{=-4e-3} + (float)(0.5))
4848
# n40_d.grad[0] := fma(-1, ((2 * e[0]) * f.grad[0]), n40_d.grad[0]);
49-
n40_d_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = fma((float)(-1), (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3}), n40_d_grad[0]{=0e-3})
49+
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})
5050
# n40_d.grad[0] := fma(3, (-1 * ((2 * e[0]) * f.grad[0])), n40_d.grad[0]);
51-
n40_d_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = fma((float)(3), ((float)(-1) * (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3})), n40_d_grad[0]{=6941e-3})
51+
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})
5252
# n14_d.grad[0] := (n14_d.grad[0] + n40_d.grad[0]);
5353
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (n14_d_grad[0]{=0e-3} + n40_d_grad[0]{=27766e-3})
5454
# n14_d.grad[0] := fma(n40_d.grad[0], 2, n14_d.grad[0]);
55-
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 83300e-3 = fma(n40_d_grad[0]{=27766e-3}, (float)(2), n14_d_grad[0]{=27766e-3})
55+
n14_d_grad[0]{=MAYBE UNINITIALIZED} = 83300e-3 = fmaf(n40_d_grad[0]{=27766e-3},(float)(2),n14_d_grad[0]{=27766e-3})
5656
# a.grad[0] := fma(n14_d.grad[0], b[0], a.grad[0]);
57-
a_grad[0]{=MAYBE UNINITIALIZED} = 166600e-3 = fma(n14_d_grad[0]{=83300e-3}, b[0]{=2000e-3}, a_grad[0]{=0e-3})
57+
a_grad[0]{=MAYBE UNINITIALIZED} = 166600e-3 = fmaf(n14_d_grad[0]{=83300e-3},b[0]{=2000e-3},a_grad[0]{=0e-3})
5858
# b.grad[0] := fma(a[0], n14_d.grad[0], b.grad[0]);
59-
b_grad[0]{=MAYBE UNINITIALIZED} = -333201e-3 = fma(a[0]{=-4000e-3}, n14_d_grad[0]{=83300e-3}, b_grad[0]{=0e-3})
59+
b_grad[0]{=MAYBE UNINITIALIZED} = -333201e-3 = fmaf(a[0]{=-4000e-3},n14_d_grad[0]{=83300e-3},b_grad[0]{=0e-3})
6060
# b.grad[0] := fma((3 * (b[0] * b[0])), n14_d.grad[0], b.grad[0]);
61-
b_grad[0]{=MAYBE UNINITIALIZED} = 666402e-3 = fma(((float)(3) * (b[0]{=2000e-3} * b[0]{=2000e-3})), n14_d_grad[0]{=83300e-3}, b_grad[0]{=-333201e-3})
61+
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})
6262
# b.grad[0] := (b.grad[0] + relu_gate(n31[0], n40_d.grad[0]));
63-
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))
63+
b_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (b_grad[0]{=666402e-3} + (n31[0]{=-2000e-3} > 0.0) ? n40_d_grad[0]{=27766e-3} : 0.0)
6464
# a.grad[0] := (a.grad[0] + relu_gate(n31[0], n40_d.grad[0]));
65-
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))
65+
a_grad[0]{=MAYBE UNINITIALIZED} = 27766e-3 = (a_grad[0]{=166600e-3} + (n31[0]{=-2000e-3} > 0.0) ? n40_d_grad[0]{=27766e-3} : 0.0)
6666
# b.grad[0] :=$ (b.grad[0] + relu_gate(n42[0], (-1 * ((2 * e[0]) * f.grad[0]))));
67-
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))
67+
b_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (b_grad[0]{=27766e-3} + (n42[0]{=6000e-3} > 0.0) ? ((float)(-1) * (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3})) : 0.0)
6868
# a.grad[0] :=$ (a.grad[0] - relu_gate(n42[0], (-1 * ((2 * e[0]) * f.grad[0]))));
69-
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))
69+
a_grad[0]{=MAYBE UNINITIALIZED} = 6941e-3 = (a_grad[0]{=27766e-3} - (n42[0]{=6000e-3} > 0.0) ? ((float)(-1) * (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3})) : 0.0)
7070
# n19_c.grad[0] := fma((2 * e[0]), f.grad[0], n19_c.grad[0]);
71-
n19_c_grad[0]{=MAYBE UNINITIALIZED} = -6941e-3 = fma(((float)(2) * e[0]{=-7000e-3}), f_grad[0]{=495e-3}, n19_c_grad[0]{=0e-3})
71+
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})
7272
# n19_c.grad[0] := fma((2 * e[0]), f.grad[0], n19_c.grad[0]);
73-
n19_c_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = fma(((float)(2) * e[0]{=-7000e-3}), f_grad[0]{=495e-3}, n19_c_grad[0]{=-6941e-3})
73+
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})
7474
# n4_c.grad[0] := (n4_c.grad[0] + n19_c.grad[0]);
7575
n4_c_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = (n4_c_grad[0]{=0e-3} + n19_c_grad[0]{=-13883e-3})
7676
# n4_c.grad[0] := (n4_c.grad[0] + n19_c.grad[0]);
7777
n4_c_grad[0]{=MAYBE UNINITIALIZED} = -27766e-3 = (n4_c_grad[0]{=-13883e-3} + n19_c_grad[0]{=-13883e-3})
7878
# a.grad[0] := (a.grad[0] + n4_c.grad[0]);
79-
a_grad[0]{=MAYBE UNINITIALIZED} = 131892e-3 = (a_grad[0]{=159658e-3} + n4_c_grad[0]{=-27766e-3})
79+
a_grad[0]{=MAYBE UNINITIALIZED} = -20825e-3 = (a_grad[0]{=6941e-3} + n4_c_grad[0]{=-27766e-3})
8080
# b.grad[0] := (b.grad[0] + n4_c.grad[0]);
81-
b_grad[0]{=MAYBE UNINITIALIZED} = 645577e-3 = (b_grad[0]{=673344e-3} + n4_c_grad[0]{=-27766e-3})
81+
b_grad[0]{=MAYBE UNINITIALIZED} = -20825e-3 = (b_grad[0]{=6941e-3} + n4_c_grad[0]{=-27766e-3})
8282
# a.grad[0] := fma(-1, ((2 * e[0]) * f.grad[0]), a.grad[0]);
83-
a_grad[0]{=MAYBE UNINITIALIZED} = 138833e-3 = fma((float)(-1), (((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3}), a_grad[0]{=131892e-3})
83+
a_grad[0]{=MAYBE UNINITIALIZED} = -13883e-3 = fmaf((float)(-1),(((float)(2) * e[0]{=-7000e-3}) * f_grad[0]{=495e-3}),a_grad[0]{=-20825e-3})
8484
COMMENT: end
8585
COMMENT: end

0 commit comments

Comments
 (0)