Skip to content

Write the benchmark report to a file instead of stdout - #1498

Merged
shravanngoswamii merged 1 commit into
mainfrom
sg/benchmark-report-to-file
Sep 16, 2026
Merged

shravanngoswamii merged 1 commit into
mainfrom
sg/benchmark-report-to-file

Conversation

@shravanngoswamii

@shravanngoswamii shravanngoswamii commented Sep 16, 2026 •

Copy link
Copy Markdown
Member

The benchmark comment carries a Distributed worker's output, most visibly an Enzyme segfault backtrace in #1497.

Each model runs in a worker so a crash cannot take down the suite. Julia relays a worker's stdout and stderr to the parent's stdout, and the workflow captures that whole stream as the report, so anything a worker prints is posted in the comment.

Redirecting for the duration of the run rather than changing how the report is captured, so benchmarks.jl keeps its current invocation and the benchmark-main job, which runs main's copy of the script, is unaffected.

Worker output and progress still reach the workflow log on stderr. The crash itself is untouched, and already shows in the table as err.

@codecov

codecov Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.78%. Comparing base (b8cd0cf) to head (1e817ed).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1498   +/-   ##
=======================================
  Coverage   83.78%   83.78%           
=======================================
  Files          54       54           
  Lines        4651     4651           
=======================================
  Hits         3897     3897           
  Misses        754      754           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown
Contributor

DynamicPPL.jl documentation for PR #1498 is available at:
https://TuringLang.github.io/DynamicPPL.jl/previews/PR1498/

@github-actions

github-actions Bot commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks @ 1e817ed

Performance Ratio: gradient time divided by log-density time.

For very small models these ratios are noisy across runs and machines; raw primal and gradient timings are more reliable. The benchmarks are aimed at DynamicPPL developers and mainly catch obvious allocation or type-stability regressions. See benchmark notes for details.

===================================================================================================
                                               eval                       gradient                 
                                            ----------  -------------------------------------------
Model                        dim    linked      primal     FwdDiff    RvsDiff    Mooncake    Enzyme
---------------------------------------------------------------------------------------------------
Simple assume observe*         1     false     5.87 ns        9.00    1117.90        9.73      7.46
Simple assume observe*         1      true     5.87 ns        9.48    1261.28        9.31      7.46
Smorgasbord                  201     false     5.41 μs       68.47     143.68        5.91      8.20
Smorgasbord                  201      true     6.46 μs       72.61     165.87        6.00      5.65
Loop univariate 1k          1000     false     17.2 μs      793.48     316.29        2.80      7.00
Loop univariate 1k          1000      true     18.2 μs     1314.44     294.36        2.74      6.63
Multivariate 1k             1000     false    939.0 ns     1542.45    1096.15        2.00     10.16
Multivariate 1k             1000      true     1.18 μs     1125.61     646.18        1.74      9.15
Loop univariate 10k        10000     false    166.0 μs    19352.01     356.29        2.90      7.03
Loop univariate 10k        10000      true    179.0 μs    23522.92     322.20        2.77      6.58
Multivariate 10k           10000     false     8.84 μs    27813.19    1059.67        1.78      8.27
Multivariate 10k           10000      true     8.98 μs    27827.40    1049.26        1.78      7.76
Dynamic                       15     false     1.31 μs         err      55.98       15.12       err
Dynamic                       10      true     1.72 μs        1.82     115.23       17.68       err
Submodel*                      1     false     5.87 ns        8.94    1202.90        9.58      7.40
Submodel*                      1      true     5.87 ns        9.10    1334.02        9.55      7.29
LDA                            6      true     4.02 μs        1.32       9.24       30.80     30.14
===================================================================================================
Main @ b8cd0cf
  From worker 2:	
  From worker 2:	[2071] signal 11 (1): Segmentation fault
  From worker 2:	in expression starting at none:0
  From worker 2:	_ZN4llvm9MemorySSA17ClobberWalkerBase29getClobberingMemoryAccessBaseEPNS_12MemoryAccessERNS_14BatchAAResultsERjbb.part.0.cold at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm9MemorySSA13CachingWalker25getClobberingMemoryAccessEPNS_12MemoryAccessERNS_14BatchAAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_Z16getMatchingValue9LoadValuePN4llvm8LoadInstEjRNS0_14BatchAAResultsENS0_12function_refIFPNS0_9MemorySSAEvEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_Z7loadCSEPN4llvm4LoopERNS_13DominatorTreeERNS_15ScalarEvolutionERNS_8LoopInfoERNS_14BatchAAResultsENS_12function_refIFPNS_9MemorySSAEvEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm23simplifyLoopAfterUnrollEPNS_4LoopEbPNS_8LoopInfoEPNS_15ScalarEvolutionEPNS_13DominatorTreeEPNS_15AssumptionCacheEPKNS_19TargetTransformInfoEPNS_9AAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm10UnrollLoopEPNS_4LoopENS_17UnrollLoopOptionsEPNS_8LoopInfoEPNS_15ScalarEvolutionEPNS_13DominatorTreeEPNS_15AssumptionCacheEPKNS_19TargetTransformInfoEPNS_25OptimizationRemarkEmitterEbPS1_PNS_9AAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZL15tryToUnrollLoopPN4llvm4LoopERNS_13DominatorTreeEPNS_8LoopInfoERNS_15ScalarEvolutionERKNS_19TargetTransformInfoERNS_15AssumptionCacheERNS_25OptimizationRemarkEmitterEPNS_18BlockFrequencyInfoEPNS_18ProfileSummaryInfoEbibbbSt8optionalIjESK_SJ_IbESL_SL_SL_SL_SK_PNS_9AAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm14LoopUnrollPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm6detail9PassModelINS_8FunctionENS_14LoopUnrollPassENS_15AnalysisManagerIS2_JEEEJEE3runERS2_RS5_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm11PassManagerINS_8FunctionENS_15AnalysisManagerIS1_JEEEJEE3runERS1_RS3_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm6detail9PassModelINS_8FunctionENS_11PassManagerIS2_NS_15AnalysisManagerIS2_JEEEJEEES5_JEE3runERS2_RS5_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm27ModuleToFunctionPassAdaptor3runERNS_6ModuleERNS_15AnalysisManagerIS1_JEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm6detail9PassModelINS_6ModuleENS_27ModuleToFunctionPassAdaptorENS_15AnalysisManagerIS2_JEEEJEE3runERS2_RS5_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	_ZN4llvm11PassManagerINS_6ModuleENS_15AnalysisManagerIS1_JEEEJEE3runERS1_RS3_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 2:	runJuliaPasses at /workspace/srcdir/LLVM.jl/deps/LLVMExtra/lib/NewPM.cpp:645
  From worker 2:	LLVMRunJuliaPasses at /home/runner/.julia/packages/LLVM/N6lMx/lib/20/libLLVM_extra.jl:275 [inlined]
  From worker 2:	macro expansion at /home/runner/.julia/packages/LLVM/N6lMx/src/executionengine/utils.jl:25 [inlined]
  From worker 2:	run! at /home/runner/.julia/packages/LLVM/N6lMx/src/newpm.jl:380
  From worker 2:	macro expansion at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:526 [inlined]
  From worker 2:	macro expansion at /home/runner/.julia/packages/LLVM/N6lMx/src/base.jl:143 [inlined]
  From worker 2:	#post_optimize!#140 at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:503
  From worker 2:	post_optimize! at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:481 [inlined]
  From worker 2:	post_optimize! at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:481 [inlined]
  From worker 2:	_thunk at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7319
  From worker 2:	_thunk at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7272 [inlined]
  From worker 2:	cached_compilation at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7351 [inlined]
  From worker 2:	thunkbase at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7557
  From worker 2:	thunk_generator at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7701
  From worker 2:	unknown function (ip: 0x7fef9571d747) at (unknown file)
  From worker 2:	jl_call_staged at /cache/build/builder-amdci4-4/julialang/julia-ci/src/method.c:729
  From worker 2:	ijl_code_for_staged at /cache/build/builder-amdci4-4/julialang/julia-ci/src/method.c:802
  From worker 2:	call_get_staged at ./../usr/share/julia/Compiler/src/utilities.jl:0 [inlined]
  From worker 2:	get_staged at ./../usr/share/julia/Compiler/src/utilities.jl:88
  From worker 2:	retrieve_code_info at ./../usr/share/julia/Compiler/src/utilities.jl:121
  From worker 2:	InferenceState at ./../usr/share/julia/Compiler/src/inferencestate.jl:603 [inlined]
  From worker 2:	typeinf_edge at ./../usr/share/julia/Compiler/src/typeinfer.jl:1104
  From worker 2:	abstract_call_method at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:746
  From worker 2:	infercalls at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:178
  From worker 2:	abstract_call_gf_by_type at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:349
  From worker 2:	abstract_call_known at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2869
  From worker 2:	abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2975
  From worker 2:	abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2968 [inlined]
  From worker 2:	abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3128
  From worker 2:	abstract_eval_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3146 [inlined]
  From worker 2:	abstract_eval_statement_expr at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3502
  From worker 2:	abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3896 [inlined]
  From worker 2:	abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3853 [inlined]
  From worker 2:	typeinf_local at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4402
  From worker 2:	jfptr_typeinf_local_86421.1 at /opt/hostedtoolcache/julia/1.13.0/x64/lib/julia/sys.so (unknown line)
  From worker 2:	typeinf at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4563
  From worker 2:	typeinf_ext at ./../usr/share/julia/Compiler/src/typeinfer.jl:1404
  From worker 2:	typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1601 [inlined]
  From worker 2:	typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1610
  From worker 2:	jfptr_typeinf_ext_toplevel_87105.1 at /opt/hostedtoolcache/julia/1.13.0/x64/lib/julia/sys.so (unknown line)
  From worker 2:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 2:	jl_type_infer at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:478
  From worker 2:	jl_compile_method_internal at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:3697
  From worker 2:	_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:4171 [inlined]
  From worker 2:	ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:4380
  From worker 2:	#benchmark#2 at /home/runner/work/DynamicPPL.jl/DynamicPPL.jl/benchmarks/benchmarks.jl:164
  From worker 2:	benchmark at /home/runner/work/DynamicPPL.jl/DynamicPPL.jl/benchmarks/benchmarks.jl:163 [inlined]
  From worker 2:	#19 at ./none (unknown line) [inlined]
  From worker 2:	#19 at /home/runner/work/DynamicPPL.jl/DynamicPPL.jl/benchmarks/benchmarks.jl:0
  From worker 2:	unknown function (ip: 0x7fef82d333dc) at (unknown file)
  From worker 2:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 2:	jl_f_invokelatest at /cache/build/builder-amdci4-4/julialang/julia-ci/src/builtins.c:889
  From worker 2:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 2:	jl_f__apply_iterate at /cache/build/builder-amdci4-4/julialang/julia-ci/src/builtins.c:876
  From worker 2:	#handle_msg##4 at /cache/build/builder-amdci4-4/julialang/julia-ci/usr/share/julia/stdlib/v1.13/Distributed/src/process_messages.jl:287
  From worker 2:	run_work_thunk at /cache/build/builder-amdci4-4/julialang/julia-ci/usr/share/julia/stdlib/v1.13/Distributed/src/process_messages.jl:70
  From worker 2:	#handle_msg##2 at /cache/build/builder-amdci4-4/julialang/julia-ci/usr/share/julia/stdlib/v1.13/Distributed/src/process_messages.jl:287
  From worker 2:	unknown function (ip: 0x7fefb5f30977) at (unknown file)
  From worker 2:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 2:	start_task at /cache/build/builder-amdci4-4/julialang/julia-ci/src/task.c:1285
  From worker 2:	Allocations: 1330854805 (Pool: 1330783854; Big: 70951); GC: 156058
  From worker 3:	
  From worker 3:	[2314] signal 11 (1): Segmentation fault
  From worker 3:	in expression starting at none:0
  From worker 3:	_ZN4llvm9MemorySSA17ClobberWalkerBase29getClobberingMemoryAccessBaseEPNS_12MemoryAccessERNS_14BatchAAResultsERjbb.part.0.cold at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm9MemorySSA13CachingWalker25getClobberingMemoryAccessEPNS_12MemoryAccessERNS_14BatchAAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_Z16getMatchingValue9LoadValuePN4llvm8LoadInstEjRNS0_14BatchAAResultsENS0_12function_refIFPNS0_9MemorySSAEvEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_Z7loadCSEPN4llvm4LoopERNS_13DominatorTreeERNS_15ScalarEvolutionERNS_8LoopInfoERNS_14BatchAAResultsENS_12function_refIFPNS_9MemorySSAEvEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm23simplifyLoopAfterUnrollEPNS_4LoopEbPNS_8LoopInfoEPNS_15ScalarEvolutionEPNS_13DominatorTreeEPNS_15AssumptionCacheEPKNS_19TargetTransformInfoEPNS_9AAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm10UnrollLoopEPNS_4LoopENS_17UnrollLoopOptionsEPNS_8LoopInfoEPNS_15ScalarEvolutionEPNS_13DominatorTreeEPNS_15AssumptionCacheEPKNS_19TargetTransformInfoEPNS_25OptimizationRemarkEmitterEbPS1_PNS_9AAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZL15tryToUnrollLoopPN4llvm4LoopERNS_13DominatorTreeEPNS_8LoopInfoERNS_15ScalarEvolutionERKNS_19TargetTransformInfoERNS_15AssumptionCacheERNS_25OptimizationRemarkEmitterEPNS_18BlockFrequencyInfoEPNS_18ProfileSummaryInfoEbibbbSt8optionalIjESK_SJ_IbESL_SL_SL_SL_SK_PNS_9AAResultsE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm14LoopUnrollPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm6detail9PassModelINS_8FunctionENS_14LoopUnrollPassENS_15AnalysisManagerIS2_JEEEJEE3runERS2_RS5_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm11PassManagerINS_8FunctionENS_15AnalysisManagerIS1_JEEEJEE3runERS1_RS3_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm6detail9PassModelINS_8FunctionENS_11PassManagerIS2_NS_15AnalysisManagerIS2_JEEEJEEES5_JEE3runERS2_RS5_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm27ModuleToFunctionPassAdaptor3runERNS_6ModuleERNS_15AnalysisManagerIS1_JEEE at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm6detail9PassModelINS_6ModuleENS_27ModuleToFunctionPassAdaptorENS_15AnalysisManagerIS2_JEEEJEE3runERS2_RS5_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	_ZN4llvm11PassManagerINS_6ModuleENS_15AnalysisManagerIS1_JEEEJEE3runERS1_RS3_ at /opt/hostedtoolcache/julia/1.13.0/x64/bin/../lib/julia/libLLVM.so.20.1jl (unknown line)
  From worker 3:	runJuliaPasses at /workspace/srcdir/LLVM.jl/deps/LLVMExtra/lib/NewPM.cpp:645
  From worker 3:	LLVMRunJuliaPasses at /home/runner/.julia/packages/LLVM/N6lMx/lib/20/libLLVM_extra.jl:275 [inlined]
  From worker 3:	macro expansion at /home/runner/.julia/packages/LLVM/N6lMx/src/executionengine/utils.jl:25 [inlined]
  From worker 3:	run! at /home/runner/.julia/packages/LLVM/N6lMx/src/newpm.jl:380
  From worker 3:	macro expansion at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:526 [inlined]
  From worker 3:	macro expansion at /home/runner/.julia/packages/LLVM/N6lMx/src/base.jl:143 [inlined]
  From worker 3:	#post_optimize!#140 at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:503
  From worker 3:	post_optimize! at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:481 [inlined]
  From worker 3:	post_optimize! at /home/runner/.julia/packages/Enzyme/378BD/src/compiler/optimize.jl:481 [inlined]
  From worker 3:	_thunk at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7319
  From worker 3:	_thunk at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7272 [inlined]
  From worker 3:	cached_compilation at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7351 [inlined]
  From worker 3:	thunkbase at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7557
  From worker 3:	thunk_generator at /home/runner/.julia/packages/Enzyme/378BD/src/compiler.jl:7701
  From worker 3:	unknown function (ip: 0x7f4ebf1a9367) at (unknown file)
  From worker 3:	jl_call_staged at /cache/build/builder-amdci4-4/julialang/julia-ci/src/method.c:729
  From worker 3:	ijl_code_for_staged at /cache/build/builder-amdci4-4/julialang/julia-ci/src/method.c:802
  From worker 3:	call_get_staged at ./../usr/share/julia/Compiler/src/utilities.jl:0 [inlined]
  From worker 3:	get_staged at ./../usr/share/julia/Compiler/src/utilities.jl:88
  From worker 3:	retrieve_code_info at ./../usr/share/julia/Compiler/src/utilities.jl:121
  From worker 3:	InferenceState at ./../usr/share/julia/Compiler/src/inferencestate.jl:603 [inlined]
  From worker 3:	typeinf_edge at ./../usr/share/julia/Compiler/src/typeinfer.jl:1104
  From worker 3:	abstract_call_method at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:746
  From worker 3:	infercalls at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:178
  From worker 3:	abstract_call_gf_by_type at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:349
  From worker 3:	abstract_call_known at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2869
  From worker 3:	abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2975
  From worker 3:	abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2968 [inlined]
  From worker 3:	abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3128
  From worker 3:	abstract_eval_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3146 [inlined]
  From worker 3:	abstract_eval_statement_expr at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3502
  From worker 3:	abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3896 [inlined]
  From worker 3:	abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3853 [inlined]
  From worker 3:	typeinf_local at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4402
  From worker 3:	jfptr_typeinf_local_86421.1 at /opt/hostedtoolcache/julia/1.13.0/x64/lib/julia/sys.so (unknown line)
  From worker 3:	typeinf at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4563
  From worker 3:	typeinf_ext at ./../usr/share/julia/Compiler/src/typeinfer.jl:1404
  From worker 3:	typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1601 [inlined]
  From worker 3:	typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1610
  From worker 3:	jfptr_typeinf_ext_toplevel_87105.1 at /opt/hostedtoolcache/julia/1.13.0/x64/lib/julia/sys.so (unknown line)
  From worker 3:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 3:	jl_type_infer at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:478
  From worker 3:	jl_compile_method_internal at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:3697
  From worker 3:	_jl_invoke at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:4171 [inlined]
  From worker 3:	ijl_apply_generic at /cache/build/builder-amdci4-4/julialang/julia-ci/src/gf.c:4380
  From worker 3:	#benchmark#2 at /home/runner/work/DynamicPPL.jl/DynamicPPL.jl/benchmarks/benchmarks.jl:164
  From worker 3:	benchmark at /home/runner/work/DynamicPPL.jl/DynamicPPL.jl/benchmarks/benchmarks.jl:163 [inlined]
  From worker 3:	#19 at ./none (unknown line) [inlined]
  From worker 3:	#19 at /home/runner/work/DynamicPPL.jl/DynamicPPL.jl/benchmarks/benchmarks.jl:0
  From worker 3:	unknown function (ip: 0x7f4ee418672c) at (unknown file)
  From worker 3:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 3:	jl_f_invokelatest at /cache/build/builder-amdci4-4/julialang/julia-ci/src/builtins.c:889
  From worker 3:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 3:	jl_f__apply_iterate at /cache/build/builder-amdci4-4/julialang/julia-ci/src/builtins.c:876
  From worker 3:	#handle_msg##4 at /cache/build/builder-amdci4-4/julialang/julia-ci/usr/share/julia/stdlib/v1.13/Distributed/src/process_messages.jl:287
  From worker 3:	run_work_thunk at /cache/build/builder-amdci4-4/julialang/julia-ci/usr/share/julia/stdlib/v1.13/Distributed/src/process_messages.jl:70
  From worker 3:	#handle_msg##2 at /cache/build/builder-amdci4-4/julialang/julia-ci/usr/share/julia/stdlib/v1.13/Distributed/src/process_messages.jl:287
  From worker 3:	unknown function (ip: 0x7f4ee4130567) at (unknown file)
  From worker 3:	jl_apply at /cache/build/builder-amdci4-4/julialang/julia-ci/src/julia.h:2318 [inlined]
  From worker 3:	start_task at /cache/build/builder-amdci4-4/julialang/julia-ci/src/task.c:1285
  From worker 3:	Allocations: 263901560 (Pool: 263899700; Big: 1860); GC: 18403
===================================================================================================
                                               eval                       gradient                 
                                            ----------  -------------------------------------------
Model                        dim    linked      primal     FwdDiff    RvsDiff    Mooncake    Enzyme
---------------------------------------------------------------------------------------------------
Simple assume observe*         1     false     5.87 ns        9.60    1170.16        5.28      7.35
Simple assume observe*         1      true     5.56 ns        9.60    1319.72        9.70      7.68
Smorgasbord                  201     false      5.4 μs       69.48     143.49        5.90      8.29
Smorgasbord                  201      true     6.43 μs       76.51     166.71        6.21      5.65
Loop univariate 1k          1000     false     17.0 μs      793.12     319.72        2.97      6.75
Loop univariate 1k          1000      true     18.4 μs     1293.16     297.47        2.77      6.58
Multivariate 1k             1000     false     1.02 μs     1507.08     989.18        2.07      8.10
Multivariate 1k             1000      true     1.23 μs      811.24     439.26        1.76      9.26
Loop univariate 10k        10000     false    166.0 μs    21943.36     358.38        3.05      7.08
Loop univariate 10k        10000      true    179.0 μs    26228.89     333.23        2.84      6.62
Multivariate 10k           10000     false     9.88 μs    29124.39    1018.48        1.82      7.75
Multivariate 10k           10000      true     8.85 μs    26049.80    1114.07        1.70      7.73
Dynamic                       15     false     1.36 μs         err      69.54       14.69       err
Dynamic                       10      true     1.76 μs        1.80      56.78       16.31       err
Submodel*                      1     false     5.87 ns        8.97    1233.53        9.54      7.32
Submodel*                      1      true     5.87 ns        9.13    1259.08        9.59      7.33
LDA                            6      true     4.01 μs        1.33       9.23       28.62     88.56
===================================================================================================
Environment
Julia Version 1.13.0
Commit d1c37793dd2 (2026-09-09 19:00 UTC)
Build Info:
  Official https://julialang.org release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × AMD EPYC 7763 64-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-20.1.8 (ORCJIT, znver3)
  GC: Built with stock GC
Threads: 1 default, 1 interactive, 1 GC (on 4 virtual cores)

@shravanngoswamii
shravanngoswamii force-pushed the sg/benchmark-report-to-file branch from 531ee91 to 1e817ed Compare September 16, 2026 09:27
@shravanngoswamii
shravanngoswamii added this pull request to the merge queue Sep 16, 2026
Merged via the queue into main with commit 6f9b8f9 Sep 16, 2026
24 checks passed
@shravanngoswamii
shravanngoswamii deleted the sg/benchmark-report-to-file branch September 16, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant