Condor Interaction Modules

Utility Module – cyclopts.condor.utils

This module defines methods that assist in interacting with condor on a remote machine.

author:Matthew Gidden <matthew.gidden _at_ gmail.com>
cyclopts.condor.utils.collect(localdir, remotedir, user, host='submit-3.chtc.wisc.edu', outdb='cyclopts_results.h5', clean=False, keyfile=None, verbose=False)[source]

Collects all cyclopts output on a remote site and collapses it into a single data base on a local machine.

Parameters:

localdir : str

the directory to place output on the local machine

remotedir : str

the directory on the remote machine

user : str

the remote machine user name

host : str, optional

the remote machine host

outdb : str, optional

the name of the database file to to be used on the local machine

clean : bool, optional

whether or not to clean up the remote machine

keyfile : str, optional

a SSH private key file to use

verbose : str, optional

print information

cyclopts.condor.utils.exec_remote_cmd(client, cmd, t_sleep=5, verbose=False)[source]

A wrapper function around paramiko.client.exec_command that helps with error handling and returns only once the command has been completed.

Parameters:

client : paramiko ssh client

the client to use

cmd : str

the command to execute

t_sleep : float, optional

the amount of time to wait between querying if a job is complete

verbose : str, optional

print information about the command

cyclopts.condor.utils.rm(user, host='submit-3.chtc.wisc.edu', keyfile=None, expr=None, verbose=False)[source]

Remove condor jobs on a remote machine.

Parameters:

user : str

the remote machine user name

host : str, optional

the remote machine host

keyfile : str, optional

a SSH private key file to use

expr : str, optional

an expression used to search for jobs

verbose : str, optional

print information

Work Queue Module – cyclopts.condor.queue

This module defines methods to lauch Worker Queue Cyclopts jobs.

author:Matthew Gidden <matthew.gidden _at_ gmail.com>
cyclopts.condor.queue.submit(user, db, instids, module, cname, solvers, remotedir, log=False, host='submit-3.chtc.wisc.edu', keyfile=None, nodes=None, port='5422', verbose=False)[source]

Connects via SSH to a condor submit node, and executes a Cyclopts Work Queue run.

Parameters:

user : str

the user on the condor submit host

db : str

the problem instance database

instids : set

the set of instances to run

module : str

the ProblemFamily module

cname : str

the ProblemFamily cname

solvers : list

the solvers to use

remotedir : str

the base run directory on the condor submit node, relative to ~/cyclopts-runs

log : bool

whether or not to keep worker/queue logs

host : str, optional

the condor submit host

keyfile : str, optional

the public key file

nodes : list, optional

a list of execute nodes prefixes (e.g., e121.chtc.wisc.edu -> e121)

port : str, optional

the port to use for master/worker communication

verbose : bool, optional

whether to print information regarding the submission process

DAG Module – cyclopts.condor.dag

This module defines methods to lauch DAGman Cyclopts jobs.

author:Matthew Gidden <matthew.gidden _at_ gmail.com>
cyclopts.condor.dag.submit(user, db, instids, module, cname, solvers, remotedir, host='submit-3.chtc.wisc.edu', keyfile=None, verbose=False)[source]

Connects via SSH to a condor submit node, and executes a Cyclopts DAG run.

Parameters:

user : str

the user on the condor submit host

db : str

the problem instance database

instids : set

the set of instances to run

module : str

the ProblemFamily module

cname : str

the ProblemFamily cname

solvers : list

the solvers to use

remotedir : str

the base run directory on the condor submit node, relative to ~/cyclopts-runs

host : str, optional

the condor submit host

keyfile : str, optional

the public key file

verbose : bool, optional

whether to print information regarding the submission process