Multithreading using cpgen

Description

The package cpgen makes use of shared memory multi-threading using OpenMP. R is of single-threaded nature, hence almost the entire package is written in C++. The package offers a variety of functions that lets you control and check the number of threads that are being used by the functions of the package. Internally every function uses the global variable cpgen.threads which is stored in options()$cpgen.threads. The value can be changed using the function set_num_threads(). When the package is loaded in an R-session cpgen.threads will be set to the value returned by get_max_threads() which is a wrapper for the OpenMP-header function omp_get_max_threads()

Details

The following functions are multithreaded and access the variable cpgen.threads:

  • cGWAS

  • cGWAS.emmax

  • clmm

  • cGBLUP

  • ccross

  • %c%

  • cgrm

  • cgrm.A

  • cgrm.D

  • ccov

  • csolve

  • cSSBR.setup

  • cSSBR

See Also

set_num_threads, get_num_threads, get_max_threads, check_openmp