SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
Base class for all backends. More...
#include <Backend.h>
Public Member Functions | |
bool | suspendable () const |
void | process_results (const Jobs &jobs, bool check_finished) |
void | addResult (const Tool *tool, const fs::path &file, BenchmarkResult &&result) |
Add a result. More... | |
void | run (const Jobs &jobs, bool wait_for_termination) |
Run the list of tools against the list of benchmarks. More... | |
Protected Member Functions | |
Backend () | |
virtual void | startTool (const Tool *) |
Hook for every tool at the beginning. More... | |
virtual void | finalize () |
Hook to allow for asynchronous backends to wait for jobs to terminate. More... | |
virtual void | execute (const Tool *, const fs::path &) |
Execute a single pair of tool and benchmark. More... | |
void | madeProgress (std::size_t files=1) |
Can be called to give information about the current progress, if available. More... | |
virtual bool | collect_results (const Jobs &, bool) |
void | sanitize_results (const Jobs &jobs) const |
void | write_results (const Jobs &jobs) const |
Protected Attributes | |
std::size_t | mExpectedJobs |
Number of jobs that should be run. More... | |
std::atomic< std::size_t > | mFinishedJobs |
Number of jobs that are finished. More... | |
std::atomic< std::size_t > | mLastPercent |
Percentage of finished jobs when madeProgress() was last called. More... | |
Private Attributes | |
Results | mResults |
Results of already completed jobs. More... | |
Base class for all backends.
Offers appropriate hooks to model the whole workflow for backends where each job is executed individually. The run() method is called from ourside which first calls startTool() for every tool and then runs execute() for every pair of tool and benchmark. It also offers addResult() to store results and madeProgress() to provide a progress indication to the user. If a benchmark requires a completely different workflow, for example for a batch job, it should override the run() method.
|
inline |
|
inlineprotectedvirtual |
Reimplemented in benchmax::SlurmBackend.
Definition at line 60 of file Backend.h.
|
inlineprotectedvirtual |
Execute a single pair of tool and benchmark.
Reimplemented in benchmax::LocalBackend, and benchmax::CondorBackend.
Definition at line 49 of file Backend.h.
|
inlineprotectedvirtual |
|
inlineprotected |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotectedvirtual |
|
inline |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
Percentage of finished jobs when madeProgress() was last called.
|
private |