[R-sig-Debian] R, OpenBLAS and OMP_NUM_THREEADS

Ei-ji Nakama nakama at ki.rim.or.jp
Tue Aug 2 03:10:03 CEST 2016


Hi,

Create /etc/profile.d/openblas.sh.
Write the following during in this file.
OPENBLAS_NUM_THREADS = 1
export OPENBLAS_NUM_THREADS

OPENBLAS_NUM_THREADS environment variable does not affect the OMP_NUM_THREADS.


2016-08-01 20:06 GMT+09:00 Gordon Ball <gordon at chronitis.net>:
> What is the correct way to globally configure R to default to single (or
> at least, << NUM_CPUS) threaded operation?
>
>
> Using R 3.3.1 (both in debian unstable or using the CRAN repository for
> xenial) with OpenBLAS (0.2.18) defaults to using one thread per
> available CPU, which isn't ideal for machines more than a couple of CPUs.
>
> Setting the environment (OMP_NUM_THREADS or OPENBLAS_NUM_THREADS) in the
> shell works:
>
> $ OMP_NUM_THREADS=1 R
>> Sys.getenv("OMP_NUM_THREADS")
> [1] "1"
>> system.time({x <- replicate(5e3, rnorm(5e3)); tcrossprod(x) })
> [runs in one thread]
>
> but adding it to /etc/R/Renviron.site doesn't:
>
> $ R
>> Sys.getenv("OMP_NUM_THREADS")
> [1] "1"
>> system.time({x <- replicate(5e3, rnorm(5e3)); tcrossprod(x) })
> [runs multi-threaded]
>
> (nor does setting the variable at runtime with `Sys.setenv`)
>
> Presumably Renviron is read after the library is already loaded and so
> the environment variable is set too late to matter.
>
>
>
>
> I can think of these solutions, but none of them are ideal:
>
>  * remove OpenBLAS (but even single threaded it performs quite a lot
> better than the basic libblas)
>
>  * set OMP_NUM_THREADS globally in people's shells with the system
> bashrc (but this doesn't work for non-shell, RStudio server sessions)
>
>  * use a library like RhpcBLASctl to set the number of threads in the
> global Rprofile
>
>  * compile a custom openblas with threading disabled, or at least a
> small default number of threads
>
>
> Any better ideas?
>
>
> Thanks
>
> Gordon
>
> _______________________________________________
> R-SIG-Debian mailing list
> R-SIG-Debian at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-debian



-- 
Best Regards,
--
Eiji NAKAMA <nakama (a) ki.rim.or.jp>
"\u4e2d\u9593\u6804\u6cbb"  <nakama (a) ki.rim.or.jp>



More information about the R-SIG-Debian mailing list