Skip to content

CST

Computer Simulation Technology (CST) offers accurate, efficient computational solutions for electromagnetic design and analysis.

CST is available as a Singularity container on Apocrita.

Usage

To run the latest version of CST, simply load the singularity module, then run the cst_design_environment application inside the CST container:

$ module load singularity
$ singularity run /data/containers/cst/cst cst_design_environment --help

CST STUDIO options:

STUDIO options:
  --m                                   Starts CST MICROWAVE STUDIO
  --s                                   Starts CST EM STUDIO
  --t                                   Starts CST PARTICLE STUDIO
  --mp                                  Starts CST MPHYSICS STUDIO
  --c                                   Starts CST DESIGN STUDIO
...

The above output has been truncated, run the cst_design_environment --help command within the container to see the full list of available options.

Example jobs

Serial job

Here is an example job running on 1 core and 5GB of memory:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 1
#$ -l h_vmem=5G

module load singularity

singularity run /data/containers/cst/cst cst_design_environment \
    --numthreads ${NSLOTS} \
    [solvers] input_file.cst

GPU job

Here is an example job running on 8 cores and 1 GPU:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 8
#$ -l gpu
#$ -l h_vmem=7.5G

module load singularity cuda

export CUDA_VISIBLE_DEVICES=${SGE_HGR_gpu// /,}

singularity run --nv /data/containers/cst/cst cst_design_environment \
    --numthreads ${NSLOTS} \
    -withgpu=1 \
    [solvers] input_file.cst

When running a GPU job, ensure you have the following in your job script:

  • A cuda module loaded.
  • The CUDA_VISIBLE_DEVICES environment variable exported.
  • The --nv switch after singularity run to allow the container to use the GPU devices.
  • The -withgpu=X, where X is the number of GPUs requested.

References