Skip to content

[codex] Speed up ueco refinement - #144

Draft
DanielSeemaier wants to merge 1 commit into
mainfrom
codex/speed-up-ueco
Draft

[codex] Speed up ueco refinement#144
DanielSeemaier wants to merge 1 commit into
mainfrom
codex/speed-up-ueco

Conversation

@DanielSeemaier

Copy link
Copy Markdown
Member

Summary

This tunes the shared-memory -P ueco preset and trims some overhead from the unconstrained LP/FM refinement path.

Changes:

  • reduce -P ueco unconstrained FM seed nodes from 25 to 50 while increasing FM iterations to 30
  • replace hot unconstrained LP shared counter atomics with thread-local reductions
  • avoid full-graph partition copies in unconstrained FM and restore only nodes touched by the round move log during rollback

Benchmark

Single-server mkexp2 run, as requested:

  • Experiment: /nfs/work/seemaier/experiments/2026.05.23-codex-ueco-final-naur-k64
  • Server: naur only
  • Graph set: /nfs/work/graph_benchmark_sets/ufm_paper/small
  • k=64, epsilon 0.03, seed 1, topology 1x1x64
  • Baseline: main (b4e1afd351cfd96e7228bde48fda36f46b830b95)
  • Codex: codex/speed-up-ueco (fe6f3a4ca67a0af15fe6cb56ac4e3a02b5bfd02a)

Results over 44 paired instances:

Metric Baseline Codex Delta
Total partitioning time 325.148 s 254.995 s 1.275x speedup / 27.512% faster
Aggregate edge cut 725,440,448 732,222,303 +0.935%
Feasible partitions 44/44 44/44 unchanged

Quality notes:

  • Worst per-graph cut delta: recomp_sources1GB_9, 16,719,986 -> 21,090,980 (+26.142%)
  • Best per-graph cut delta: rhg, 107,269 -> 100,739 (-6.087%)
  • The large recomp_sources1GB_9 cut regression is the main tradeoff hidden by the aggregate.

Timing notes:

  • Biggest speedup: recomp_sources1GB_9, 5.410 s -> 2.571 s
  • Next biggest speedup: soc-sinaweibo, 56.551 s -> 28.962 s
  • Worst slowdown: channel-500x100x100-b050, 1.836 s -> 2.072 s

Validation

  • Built KaMinParApp
  • Ran and passed:
    • build/tests/test_shm_endtoend
    • build/tests/test_shm_metrics
    • build/tests/test_shm_gain_caches
  • mkexp2 parse completed successfully for the naur-only experiment. mkexp2 stats could not run because the remote R environment is missing tidyverse, so the summary above was computed from mkexp2's parsed CSV files.

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