[Rcpp-devel] Parallel R::bessel_k function in Rcpp

Dirk Eddelbuettel edd at debian.org
Thu Mar 24 01:11:35 CET 2016


On 24 March 2016 at 01:02, Hoang Nguyen wrote:
| Hi,
| I am working with Rcpp and need to call function bessel_k from R::bessel_k in
| parallel. I got usually crash in Rstudio, and still not find out which is the
| mistake

You _cannot call back to R_ from parallel code.  

| Here is my code in R:
| 
| Sys.setenv("PKG_CXXFLAGS"="-fopenmp")
| Sys.setenv("PKG_LIBS"="-fopenmp")
| library(Rcpp)
| sourceCpp("Bessel.cpp")
| xseq = rt(10000,df = 8)
| param <- c(0.0000000,  2.8284271, -0.4954229,  8.0000000)
| BasselCm <- BasselC(xseq,param)
| 
| here is my code in Bessel.cpp:
| if I set num threads(2) it was crash but run smooth if I set back to 1.

Sorry but I fear you either

 -- must write a new C++ implementation of the Bessel_k, or
 -- if you want to use R's, you need to use process-parallelism (ie
    something like OpenMPI to separate R processes).

Dirk

| 
| Thank you so much for your consideration.
| 
| Best regards.
| 
| 
| 
| 
| > sessionInfo()
| R version 3.2.4 Revised (2016-03-16 r70336)
| Platform: x86_64-pc-linux-gnu (64-bit)
| Running under: Ubuntu 14.04.4 LTS
| 
| locale:
|  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=
| es_ES.UTF-8      
|  [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=es_ES.UTF-8    LC_MESSAGES=
| en_US.UTF-8  
|  [7] LC_PAPER=es_ES.UTF-8       LC_NAME=C                  LC_ADDRESS=
| C             
| [10] LC_TELEPHONE=C             LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=
| C      
| 
| attached base packages:
| [1] stats     graphics  grDevices utils     datasets  methods   base    
| 
| other attached packages:
| [1] Rcpp_0.12.3
| 
| loaded via a namespace (and not attached):
| [1] tools_3.2.4               RcppArmadillo_0.6.600.4.0​
| 
| 
| --
| 
| 
| [DELETED ATTACHMENT Bessel.cpp, text/x-c++src]
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org


More information about the Rcpp-devel mailing list