Reference

Reference

Last updated:

Job Attributes

Every job that runs in Camber has a set of attributes. These attributes report information about the job ID, status, engine, and so on. You can access an engine’s jobs through either the base class or a subclass for a specific engine:

import camber
camber.list_jobs()
# Or
camber.job.list()
camber.job.list(engine_type="MPI") ## returns MPIJob instances

A line of output looks something like this:

 CamberJob({"job_id": 4648, "status": "PENDING", "node_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.

node_size

Node size is configured through the node_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
  • ESO
  • CHANGA
  • LAMMPS
  • GROMACS
  • OPENFOAM

command

The command 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")

Glossary

Job
A task that a user executes in Camber. Typically this task is to initialize or run scientific computation.
Engine
A Camber class that is optimized for a scientific library or type of distributed execution.

Python API

See the full Python API reference for detailed documentation on each engine module.