Job attributes

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

StatusDescription
PENDINGThe job is queued to run. The wait time depends on when the next on-demand is available.
PROVISIONINGThe job is provisioning.
INITIALIZINGThe job is initializing.
RUNNINGCamber is running the job.
COMPLETEDThe job has finished.
FAILEDThe job has failed.
CANCELLEDThe 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")