Z3并行版本何时重新激活?

Z3并行版本何时重新激活?,z3,Z3,目前重新激活Z3并行版本的计划是什么?Z3从未对并行性提供过广泛的支持。在2.x版中,我们提供了一个实验性功能,允许用户使用不同的配置选项并行执行多个副本。不同的副本还可以共享信息并相互删减搜索空间。此功能有一些限制。例如,它在编程API中不可用。它也与长期的研究目标和方向相冲突。因此,此功能已从最新版本中删除 也就是说,在z34.xapi中,创建多个上下文(Z3_上下文)并从不同线程并发访问它们是安全的。以前的版本不是线程安全的。在Z34.x中,我们可以使用并行组合器定义自定义策略。例如,组合

目前重新激活Z3并行版本的计划是什么?

Z3从未对并行性提供过广泛的支持。在2.x版中,我们提供了一个实验性功能,允许用户使用不同的配置选项并行执行多个副本。不同的副本还可以共享信息并相互删减搜索空间。此功能有一些限制。例如,它在编程API中不可用。它也与长期的研究目标和方向相冲突。因此,此功能已从最新版本中删除

也就是说,在z34.xapi中,创建多个上下文(Z3_上下文)并从不同线程并发访问它们是安全的。以前的版本不是线程安全的。在Z34.x中,我们可以使用并行组合器定义自定义策略。例如,组合器
(par或t1 t2)
并行执行策略
t1
t2
。这些组合器在编程API和SMT 2.0前端中可用。以下在线教程包含其他信息:

以下命令(用于SMT 2.0前端)将使用两个不同随机种子的战术
SMT
副本检查断言的公式

(check-sat-using (par-or (! smt :random-seed 10) (! smt :random-seed 20))) 

我们能期望par或的加速吗?该策略是否在两个副本之间共享信息并删减搜索空间?有点晚了,但仍然:不,目前在par或par-and中没有共享。并行的分支是否与z3断开?因为我找到了这个