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

#include <SSHBackend.h>

Inheritance diagram for benchmax::SSHBackend:
Collaboration diagram for benchmax::SSHBackend:

Public Member Functions

 SSHBackend ()
 
 ~SSHBackend ()
 
void run (const Jobs &, bool)
 Dummy if SSH is disabled. More...
 
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...
 

Protected Member Functions

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...
 

Detailed Description

Definition at line 69 of file SSHBackend.h.

Constructor & Destructor Documentation

◆ SSHBackend()

benchmax::SSHBackend::SSHBackend ( )
inline

Definition at line 71 of file SSHBackend.h.

◆ ~SSHBackend()

benchmax::SSHBackend::~SSHBackend ( )
inline

Definition at line 72 of file SSHBackend.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::Backend::execute ( const Tool ,
const fs::path &   
)
inlineprotectedvirtualinherited

Execute a single pair of tool and benchmark.

Reimplemented in benchmax::LocalBackend, and benchmax::CondorBackend.

Definition at line 49 of file Backend.h.

Here is the caller 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::SSHBackend::run ( const Jobs ,
bool   
)
inline

Dummy if SSH is disabled.

Definition at line 74 of file SSHBackend.h.

◆ 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: