SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
benchmax::LocalBackend Class Reference

This backend simply runs files sequentially on the local machine. More...

#include <LocalBackend.h>

Inheritance diagram for benchmax::LocalBackend:
Collaboration diagram for benchmax::LocalBackend:

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

virtual void execute (const Tool *tool, const fs::path &file)
 Execute the tool on the file manually. More...
 
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...
 
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...
 

Detailed Description

This backend simply runs files sequentially on the local machine.

Definition at line 21 of file LocalBackend.h.

Member Function Documentation

◆ addResult()

void benchmax::Backend::addResult ( const Tool tool,
const fs::path &  file,
BenchmarkResult &&  result 
)
inlineinherited

Add a result.

Definition at line 97 of file Backend.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ collect_results()

virtual bool benchmax::Backend::collect_results ( const Jobs ,
bool   
)
inlineprotectedvirtualinherited

Reimplemented in benchmax::SlurmBackend.

Definition at line 60 of file Backend.h.

Here is the caller graph for this function:

◆ execute()

virtual void benchmax::LocalBackend::execute ( const Tool tool,
const fs::path &  file 
)
inlineprotectedvirtual

Execute the tool on the file manually.

Reimplemented from benchmax::Backend.

Definition at line 24 of file LocalBackend.h.

Here is the call graph for this function:

◆ finalize()

virtual void benchmax::Backend::finalize ( )
inlineprotectedvirtualinherited

Hook to allow for asynchronous backends to wait for jobs to terminate.

Definition at line 45 of file Backend.h.

Here is the caller graph for this function:

◆ madeProgress()

void benchmax::Backend::madeProgress ( std::size_t  files = 1)
inlineprotectedinherited

Can be called to give information about the current progress, if available.

Definition at line 51 of file Backend.h.

Here is the caller graph for this function:

◆ process_results()

void benchmax::Backend::process_results ( const Jobs jobs,
bool  check_finished 
)
inlineinherited

Definition at line 88 of file Backend.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run()

void benchmax::Backend::run ( const Jobs jobs,
bool  wait_for_termination 
)
inlineinherited

Run the list of tools against the list of benchmarks.

Definition at line 111 of file Backend.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sanitize_results()

void benchmax::Backend::sanitize_results ( const Jobs jobs) const
inlineprotectedinherited

Definition at line 61 of file Backend.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ startTool()

virtual void benchmax::Backend::startTool ( const Tool )
inlineprotectedvirtualinherited

Hook for every tool at the beginning.

Can be used to upload the tool to some remote system.

Definition at line 41 of file Backend.h.

Here is the caller graph for this function:

◆ suspendable()

bool benchmax::Backend::suspendable ( ) const
inlineinherited

Definition at line 85 of file Backend.h.

Here is the caller graph for this function:

◆ write_results()

void benchmax::Backend::write_results ( const Jobs jobs) const
inlineprotectedinherited

Definition at line 70 of file Backend.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ mExpectedJobs

std::size_t benchmax::Backend::mExpectedJobs
protectedinherited

Number of jobs that should be run.

Definition at line 29 of file Backend.h.

◆ mFinishedJobs

std::atomic<std::size_t> benchmax::Backend::mFinishedJobs
protectedinherited

Number of jobs that are finished.

Definition at line 31 of file Backend.h.

◆ mLastPercent

std::atomic<std::size_t> benchmax::Backend::mLastPercent
protectedinherited

Percentage of finished jobs when madeProgress() was last called.

Definition at line 33 of file Backend.h.

◆ mResults

Results benchmax::Backend::mResults
privateinherited

Results of already completed jobs.

Definition at line 26 of file Backend.h.


The documentation for this class was generated from the following file: