dust_openmp_support: Information about OpenMP support

View source: R/openmp.R

dust_openmp_supportR Documentation

Information about OpenMP support


Return information about OpenMP support for this system. For individual models look at the ⁠$has_openmp()⁠ method.


dust_openmp_support(check_compile = FALSE)



Logical, indicating if we should check if we can compile an openmp program - this is slow the first time.


A list with information about the openmp support on your system.

  • The first few elements come from the openmp library directly: num_proc, max_threads, thread_limit; these correspond to a call to the function ⁠omp_get_<name>()⁠ in C and openmp_version which is the value of the ⁠_OPENMP⁠ macro.

  • A logical has_openmp which is TRUE if it looks like runtime OpenMP support is available

  • The next elements tell you about different sources that might control the number of threads allowed to run: mc.cores (from the R option with the same name), OMP_THREAD_LIMIT, OMP_NUM_THREADS, MC_CORES (from environment variables), limit_r (limit computed against R-related control variables), limit_openmp (limit computed against OpenMP-related variables) and limit the smaller of limit_r and limit_openmp

See Also

dust_openmp_threads() for setting a polite number of threads.


# System wide support

# Support compiled into a generator
walk <- dust::dust_example("walk")

# Support from an instance of that model
model <- walk$new(list(sd = 1), 0, 1)

mrc-ide/dust documentation built on Sept. 25, 2023, 10:09 p.m.