Skip to main content

Utilities to support interacting with multiple HPC clusters

Project description

MyCluster

Master Build Status Scrutinizer Code Quality

Develop Build Status Scrutinizer Code Quality

Utilities to support interacting with multiple HPC clusters

Provides the ability to interact with the most popular HPC job scheduling systems using a single interface and enables the creation of job submission scripts. The system also tracks statistics of each job and records the hardware details of the compute nodes used.

Data is stored in a local database in ~/.mycluster

Tested with SGE and slurm (LSF and PBS/TORQUE support under development)

Installation - pip install MyCluster or git clone https://github.com/zenotech/MyCluster.git

Dependencies: ZODB, Fabric

Example usage

Register details

mycluster --firstname Fred --lastname Bloggs --email fred.bloggs@email.com

List all queues

mycluster -q

Create job script

mycluster --create JOB_SCRIPT --jobqueue QUEUE --script SCRIPT --ntasks=TASKS --jobname=JOB_NAME 
          --project ACCOUNT_NAME --maxtime 12:00:00

Submit job

mycluster --submit JOB_SCRIPT

Delete job

mycluster --delete JOB_ID

Print job table

mycluster -p

Print help

mycluster --help

The SCRIPT to be executed by the JOB_SCRIPT can make use of the following predefined environment variables

export NUM_TASKS=
export TASKS_PER_NODE=
export THREADS_PER_TASK=
export NUM_NODES=

# OpenMP configuration
export OMP_NUM_THREADS=$THREADS_PER_TASK

# Default mpiexec commnads for each flavour of mpi
export OMPI_CMD="mpiexec -n $NUM_TASKS -npernode $TASKS_PER_NODE -bysocket -bind-to-socket"
export MVAPICH_CMD="mpiexec -n $NUM_TASKS -ppn $TASKS_PER_NODE -bind-to-socket"
export IMPI_CMD="mpiexec -n $NUM_TASKS -ppn $TASKS_PER_NODE"

In order to capture the relevant information it is recommended that the SCRIPT also exports the following environment variables

# Application name
export MYCLUSTER_APP_NAME=
# Data size that typifies application performance for this job (e.g number of points or number of cells)
export MYCLUSTER_APP_DATA=

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MyCluster-0.3.16.tar.gz (19.7 kB view details)

Uploaded Source

File details

Details for the file MyCluster-0.3.16.tar.gz.

File metadata

  • Download URL: MyCluster-0.3.16.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/2.7.15

File hashes

Hashes for MyCluster-0.3.16.tar.gz
Algorithm Hash digest
SHA256 efc015b904b7c13cd1fc1195af4e6591d12d18880e8132951b321b647301b77a
MD5 39665d6060fb3fd61128d5bebeb17b35
BLAKE2b-256 a57cd2a726c03a40cb3de50d8ce8bdb94d9a3e862f118a11510779356f76e5fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page