3#ifndef TURBO_CPU_SOLVING_HPP
4#define TURBO_CPU_SOLVING_HPP
9 auto start = std::chrono::steady_clock::now();
15 FixpointSubsetCPU<GaussSeidelIteration> fp_engine(cp.
iprop->num_deductions());
16 local::B has_changed =
true;
24 if(cp.
iprop->is_bot()) {
29 fp_engine.select([&](
int i) {
return !cp.
iprop->ask(i); });
31 if(fp_engine.num_active() == 0 && cp.
search_tree->template is_extractable<AtomicExtraction>()) {
32 has_changed |= cp.
bab->deduce();
39 if(must_prune) {
break; }
bool must_quit(A &a)
Definition common_solving.hpp:78
void block_signal_ctrlc()
Definition common_solving.hpp:72
bool check_timeout(A &a, const Timepoint &start)
Definition common_solving.hpp:90
void cpu_solve(const Configuration< battery::standard_allocator > &config)
Definition cpu_solving.hpp:8
Definition common_solving.hpp:144
abstract_ptr< IBAB > bab
Definition common_solving.hpp:266
Configuration< BasicAllocator > config
Definition common_solving.hpp:278
CUDA void print_final_solution()
Definition common_solving.hpp:830
CUDA bool on_solution_node()
Definition common_solving.hpp:819
CUDA bool on_node()
Definition common_solving.hpp:779
Statistics< BasicAllocator > stats
Definition common_solving.hpp:279
abstract_ptr< IST > search_tree
Definition common_solving.hpp:264
CUDA void on_failed_node()
Definition common_solving.hpp:826
void preprocess()
Definition common_solving.hpp:591
abstract_ptr< IProp > iprop
Definition common_solving.hpp:261
CUDA void print_mzn_statistics()
Definition common_solving.hpp:837
size_t or_nodes
Definition config.hpp:48
size_t fixpoint_iterations
Definition statistics.hpp:127
std::chrono::steady_clock::time_point start_timer_host() const
Definition statistics.hpp:183
std::chrono::steady_clock::time_point stop_timer(Timer timer, std::chrono::steady_clock::time_point start)
Definition statistics.hpp:193