RemoteHPC attempts to wrap all the usual interactions one might have with a remote HPC cluster in a restAPI webserver that runs on the frontend of the cluster.
- Store locally connection information to remote servers using
Server
- Remotely store information for available executables and execution environments using
save(server, Exec(...))
andsave(server, Environment(...))
. - Load remotely stored info using
load(server, Exec("<label>"))
andload(server, Environment("<label>"))
. - Represent a line in a jobscript using
Calculation(exec::Exec, infile::String, outfile::String, run::Bool, parallel::Bool)
. - Save and submit a job with
save(server, jobdir, jobname, environment, calculations)
andsubmit(server, jobdir)
or combine both steps withsubmit(server, jobdir, jobname, environment, calculations)
. - The state of a job can be retrieved by
state(server, jobdir)
. - A job can be aborted using
abort(server, jobdir)
. - Support for running jobs with
SLURM
,HyperQueue
, orBash
. - remote file operations:
read
,write
,rm
,mtime
,link
, etc. - Starting a remote server with
start(server)
and automatic creation of ssh tunnels by specifyingserver.local_tunnel
, useful when the frontend of a cluster is behind a proxy.