When will the Z3 parallel version be reactivated? [closed]

半世苍凉 提交于 2020-01-02 08:12:10

问题


What are the current plans for reactivating the parallel version of Z3?


回答1:


Z3 never had extensive support for parallelism. In version 2.x, we included an experimental feature that allowed users to execute several copies in parallel using different configuration options. The different copies could also share information and prune each other search space. This feature had some limitations. For example, it was not available in the programmatic API. It also conflicted with long term research goals and directions. Thus, this feature has been removed from recent versions.

That being said, in the Z3 4.x API, it is safe to create multiple contexts (Z3_Context) and access them concurrently from different threads. The previous versions were not thread safe. In Z3 4.x we can define custom strategies using parallel combinators. For example, the combinator (par-or t1 t2) executes the strategies t1 and t2 in parallel. These combinators are available in the programmatic API and SMT 2.0 front-end. The following online tutorial contains additional information: http://rise4fun.com/Z3/tutorial/strategies

The following command (for the SMT 2.0 front-end) will check the asserted formulas using two copies of the tactic smt with different random seeds.

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


来源:https://stackoverflow.com/questions/12457241/when-will-the-z3-parallel-version-be-reactivated

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!