Skip to main content
Search

Luis Castillo-Heredia

1 related articles

Subscribe to updates
  1. Multi-conflict detection stops at two parallel branches: the merge loop's checks are now precomputed too, averaging 1.21x on two cores

    Diagnosis of constraint systems needs several minimal conflicts at once, and MergeXplain returns multiple conflicts from one decomposition, but only its two recursive branches had been run in parallel while the merge loop that eliminates boundary-spanning conflicts stayed sequential. ParallelMergeXplain forks the recursion up to a bounded depth and replaces every GetConflict call in the merge loop with a speculative, QXGen-lookahead parallel version. On a 2-core machine it reached a mean wall-clock speed-up of 1.21x (std. 0.20) across all configurations with non-trivial checks, and 1.531x for par full at p=2 on the real SATLIB uf50-218 instance, returning results identical to sequential MergeXplain.

You’re all caught up