简体   繁体   English

在多核服务器中使用 Z3

[英]Use Z3 in multicore server

I want to set up a system that will be fully dedicated to Z3.我想建立一个完全专用于 Z3 的系统。 Let's say it has 4 cores and I would like to use all the power of the machine.假设它有 4 个内核,我想使用机器的所有功能。

I will be solving large formulas that have around 1000 incremental asserts.我将解决具有大约 1000 个增量断言的大型公式。

I would like to solve the formulas in a parallel fashion.我想以并行方式解决这些公式。 I've read this question and I see that a unique Context should be created for every instance solving a formula.我已经阅读了这个问题,我看到应该为每个求解公式的实例创建一个唯一的Context

My question then is, what is the most optimal way to use the full system resources (4 cores) and solving formulas with incremental asserts?我的问题是,使用完整系统资源(4 个内核)并使用增量断言求解公式的最佳方法是什么? Should I create a context per core and somehow sync the push and pops along them to incrementally solve the formulas?我应该为每个核心创建一个上下文,并以某种方式同步推送和弹出以逐步解决公式吗?

Thanks谢谢

Expressions created via one context can not be used in another context.通过一个上下文创建的表达式不能在另一个上下文中使用。 So, yes, if those cores/contexts need the same expressions, they will have to be copied and/or translated (see also Z3_translate ).因此,是的,如果这些核心/上下文需要相同的表达式,则必须复制和/或翻译它们(另请参阅Z3_translate )。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM