[R-pkg-devel] [Tagged] Re: multithreading in packages

Ben Bolker bbo|ker @end|ng |rom gm@||@com
Sat Oct 9 18:08:04 CEST 2021


   FWIW there is some machinery in the glmmTMB package for querying, 
setting, etc. the number of OpenMP threads.

https://github.com/glmmTMB/glmmTMB/search?q=omp

On 10/9/21 11:45 AM, Vladimir Dergachev wrote:
> 
> 
> On Sat, 9 Oct 2021, Jeff Newmiller wrote:
> 
>> Keep in mind that by embedding this decision into your package you may 
>> be consuming a resource (cores) that may be more efficiently allocated 
>> by an application-level partitioning. of available resources. I for 
>> one am not a fan of this kind of thinking, and it makes system 
>> requirements for your package more complex even if you allow me to 
>> disable it.
> 
> That's right, and this is why I was asking about any present or future 
> plans for R support - if there was a way to find out how many threads R 
> should use, I would use that.
> 
> So far, it looks like the most portable way is to use OpenMP and let the 
> user set an appropriate environment variable if they want to restrict 
> thread usage. I could use the same OpenMP variable for pthreads as well.
> 
> This is pretty common on clusters anyway, with openmp environment 
> variables set automatically to the number of cores user requested.
> 
> I would probably also add a function to the package to report the number 
> of threads being used. Not sure whether it would be a good idea to 
> report this during package loading (and not sure what is the right way 
> to display a message during package load either).
> 
> best
> 
> Vladimir Dergachev
> 
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

-- 
Dr. Benjamin Bolker
Professor, Mathematics & Statistics and Biology, McMaster University
Director, School of Computational Science and Engineering
Graduate chair, Mathematics & Statistics



More information about the R-package-devel mailing list