The CRAN Repository Policy (revision 4170) states "If running a package uses 
multiple threads/cores it must never use more than two simultaneously: the 
check farm is a shared resource and will typically be running many checks 
simultaneously" and I try to respect this limit in package example code. 
However I was recently warned that package functions must not default to >2 
cores, even if checks are limited to 2 cores. I see the sense in this, to not 
hog resources on multi-user systems, but I cannot find it in the documentation. 
My package 'secr' has unintentionally violated such a policy since October 
(multithreading with RcppParallel in function 'secr.fit'). No complaints so 
far, but I'd like to dodge the pain of rejection at my next revision. 

Further, "not all CRAN machines use _R_CHECK_LIMIT_CORES_", so that environment 
variable cannot be relied upon to apply a 2-core limit during checking.

I would appreciate pointers to the relevant documentation and guidance on how 
others handle this. Is it unavoidable that for users to exploit multiple cores 
they must specify a non-default function argument, or similar?


______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to