Job attributes
Every job that runs in Camber has a set of attributes. This attributes report information about the job ID, status, engine, and so on. You can access an engine’s jobs though either the base class, or through a subclass for a specific engine:
import camber
camber.mpi.list_jobs() ## returns MPIJob instances
camber.job.CamberJob.list()
A line of output looks something like this:
CamberJob({"job_id": 4648, "status": "PENDING", "engine_size": "SMALL", "engine_type": "MPI", "command": "mpirun -np 4 mpi_hello_world", "with_gpu": false}),
status
Status | Description |
---|---|
PENDING | The job is queued to run. The wait time depends on when the next on-demand is available. |
PROVISIONING | The job is provisioning. |
INITIALIZING | The job is initializing. |
RUNNING | Camber is running the job. |
COMPLETED | The job has finished. |
FAILED | The job has failed. |
CANCELLED | The job was intentionally stopped, such as when user calls job.clear() in the middle of a run. |
engine_size
Engine size is configured through the engine_size
parameter of the create_job()
instance.
Its values can be one of the following.
XMICRO
MICRO
XXSMALL
XSMALL
SMALL
MEDIUM
LARGE
In the context of GPU jobs,XSMALL
, MEDIUM
, and LARGE
are supported currently.
engine_type
What type of engine ran. Can be
MPI
MESA
ATHENA
LLM
ESO
CHANGA
command
The commmand that the job ran, for example, make
.
with_gpu
Whether the job ran with GPU.
tags
When applicable, the job tags. You can use tags to filter the returned list methods.
camber.mpi.list_jobs(tags="virgo-supercluster")