| Version: | 0.23-42 | 
| Date: | 2023-02-11 | 
| Title: | Control the Number of Threads on 'BLAS' | 
| Author: | Junji NAKANO <nakanoj@ism.ac.jp> and Ei-ji Nakama <nakama@ki.rim.or.jp> | 
| Maintainer: | Ei-ji Nakama <nakama@ki.rim.or.jp> | 
| Description: | Control the number of threads on 'BLAS' (Aka 'GotoBLAS', 'OpenBLAS', 'ACML', 'BLIS' and 'MKL'). And possible to control the number of threads in 'OpenMP'. Get a number of logical cores and physical cores if feasible. | 
| License: | AGPL-3 | 
| URL: | https://prs.ism.ac.jp/~nakama/Rhpc/ | 
| ByteCompile: | true | 
| NeedsCompilation: | yes | 
| Packaged: | 2023-02-11 00:17:46 UTC; nakama | 
| Repository: | CRAN | 
| Date/Publication: | 2023-02-11 01:00:02 UTC | 
Control the number of threads on BLAS
Description
Control the number of threads on 'BLAS' (Aka 'GotoBLAS', 'ACML' and 'MKL').
If you build R directly on Windows and the BLAS file name is not 'Rblas.dll', you can give it as 'options ("RhpcBLASctl.win.Rblas.name" = "boofoo.dll")'.
openmp-related functions only work at build-time instructions. Omp_get * now returns NA_Integer if R was not built with openmp instructions. NOTE: if R itself is built without OpenMP instructions and BLAS thread is used with OpenMP, this package will not work...XD
Usage
get_num_cores()
get_num_procs()
blas_get_num_procs()
blas_set_num_threads(threads)
omp_get_num_procs()
omp_get_max_threads()
omp_set_num_threads(threads)
Arguments
| threads | Number of threads | 
Details
https://prs.ism.ac.jp/~nakama/Rhpc/
Value
| get_num_cores | Number of CPU physical processor. NOTE:Returns 1L if unknown | 
| get_num_procs | Number of CPU logical processor. NOTE:Returns 1L if unknown | 
| blas_get_num_procs | Number of available cores for the optimized BLAS. NOTE:Returns 1L if unknown | 
| omp_get_num_procs | Result from OpenMP's omp_get_num_procs function. NOTE Returns NA_integer_ if unknown | 
| omp_get_max_threads | Result from OpenMP's omp_get_max_threads function. NOTE Returns NA_integer_ if unknown | 
Author(s)
Junji NAKANO <nakanoj@ism.ac.jp> and Ei-ji Nakama<nakama@com-one.com> Maintainer: Ei-ji Nakama <nakama@com-one.com>
Examples
get_num_cores()
get_num_procs()
blas_get_num_procs()
blas_set_num_threads(2)
omp_get_num_procs()
omp_get_max_threads()
omp_set_num_threads(2)