Can I run multi-threaded jobs?

If you would like to use multiple CPU cores simultaneously, please be sure to create the appropriate resource reservations so that your jobs do not compete with other jobs for a CPU, and are allocated resources for your exclusive use.

Many applications and programming libraries can make use of multiple CPU cores simultaneously by running multiple active threads or processes.

We do not currently place any technological limitations on CPU core usage in cluster computing, and instead ask that you observe the rule of "one CPU core per job instance" unless specifically reserving additional cores for your jobs. In both batch and interactive cluster computing, available cluster resources may be lower during periods of intense utilization.

  • Batch cluster jobs are allocated one CPU core (and 4GB memory) per instance, although you can queue an unlimited number of job instances for high-throughput parallel computing.
  • For RCE Powered (interactive) jobs, you can request an allocation of up to 24 CPU cores (and up to 250GB RAM), but each job submission queues only one instance.
    • Stata/MP will reserve 8 cores per job by default
    • To request a different number of CPU cores, use -c num_cpu -x command

Some applications and libraries require additional options to set the number of CPU cores used.

  • To set the number of CPU cores used by the R Goto linear algebra library: Sys.setenv(GOTO_NUM_THREADS=1)
  • To run Matlab on a single CPU core: matlab -singleCompThread

For assistance with setting CPU core usage for other applications, please contact HMDC Support.