Skip to content

v1.24.10

Latest
Compare
Choose a tag to compare
@S-Mazigh S-Mazigh released this 24 Oct 13:55
· 3 commits to master since this release

D-Painless Release Notes

Major Changes

Sharing Architecture

  • New SharingEntity: Implements thread-safe subscription-based sharing using weak references to prevent circular dependencies.
  • Enhanced GlobalSharingStrategy Implementations: MallobSharing now follows the sharing strategy described in MallobSat.

Clause Management

  • Optimized ClauseExchange:

    • When back to use flexible array member pattern for efficient memory layout
    • Implements reference counting via boost::intrusive_ptr
    • Provides safe creation and pointer conversion methods
  • Lock-free ClauseBuffer:

    • Wraps boost::lockfree::queue for concurrent operations
    • Supports multiple producers/consumers
    • Maintains proper reference counting during pops and pushes
  • New ClauseDatabase Interface:

    • Abstract interface for clause storage systems
    • Used by SharingStrategy and SolverCdclInterface

Requirements

  • C++20 or later
  • Boost headers
  • MPI for distributed operations