Parallelization:
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