How do I limit CPU thread usage inside the Isaac Sim 4.5.0 container (Singularity, remote HPC setup)?

Isaac Sim Version

4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04 (inside container)
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify): Cluster runs a heterogeneous Linux setup

GPU Information

  • Model: Varies (based on node)
  • Driver Version: Not directly accessible (SCC-managed)
  • Compute Capability: >= 8.0

Topic Description

Detailed Description

We are running isaac-sim:4.5.0 inside a*Singularity container on a HPC cluster (Boston University’s SCC). We would like to limit the number of CPU threads used inside the container to match our allocated core count.

### Steps to Reproduce
# 1. Convert Isaac Sim Docker image to Singularity
singularity pull docker://nvcr.io/nvidia/isaac-sim:4.5.0
mv isaac-sim_4.5.0.sif /project/your/directory/

# 2. Set up 
mkdir -p /project/your/cache/path
ln -s /project/your/cache/path ~/.cache/ov

export SINGULARITYENV_ISAAC_CACHE=/project/your/cache/path
export SINGULARITYENV_ACCEPT_EULA=Y

# 3. Launch 
scc-singularity --nolocal shell isaac-sim_4.5.0.sif


cd /isaac-sim/

# GUI 
./isaac-sim.sh --portable-root $ISAAC_CACHE \
--/renderer/activeGpu=$CUDA_VISIBLE_DEVICES

# Headless 
python.sh standalone_examples/api/isaacsim.simulation_app/constant_fps.py \
--portable-root $TMPDIR \
--/renderer/activeGpu=$CUDA_VISIBLE_DEVICES

I believe these steps work just fine. We want to prevent Isaac Sim from using more CPU threads than allocated in our SLURM job.

Additional Context

AI suggestion to use the following:

export SINGULARITYENV_OMP_NUM_THREADS=8
export SINGULARITYENV_OPENBLAS_NUM_THREADS=8
export SINGULARITYENV_MKL_NUM_THREADS=8

Not sure if this will work, however.

SCC information may be helpful:

on containers:

on singularity:

Boston University