Dear Rcpp-Devels,

this list was suggested to me by Dirk Eddelbüttel in regard to a question using 
C++ Extensions in relation with the Armadillo library. 

At first I have to make compliments to the developers of Rcpp/RcppArmadillo. 
Dirk, Francois, this is a marvelous work! As someone programming a lot in C++ 
and using R Extensions regularly, it is cleaning away all this cumbersome 
programming dirt connected to SEXPs. 

There are still remaining questions for me, which can be surely answered by the 
subscribers to this list: 

1. I saw the Rcpp.package.skeleton function and I ask myself, if a similar 
offer is made for RcppArmadillo for including automatically the Armadillo 
library in a package? 

2. If I want to use Armadillo solely in the C++ files, not via inline functions 
as shown in the RcppArmadillo paper, should I use solely the Rcpp package? No, 
right? The RcppArmadillo package provides objects wrappers for Armadillo 
objects to be passed to R? 

3. My package is based on S4 classes and I saw the S4 class wrapping in the 
Rcpp package. I miss an example on this. Can you refer to any document or 
website for this issue? 

4. Further: What is your experience regarding performance with S4 classes and 
OOP in C++: Does it make a difference mapping the S4 class to a struct in C++ 
or using directly the attributes of the S4 class (like vectors, etc.) as 
Armadillo vectors etc. in C++?
As I work a lot on the HPC in Aachen/Germany together with some of the 
contributors to the OpenMP API, I am highly influenced by the parsimonious 
approach, i.e. use only basic objects in C++ to get high performance (although 
I know, that one of the main work now in the OpenMP API is the extension to 
complex/user-defined objects inside the #pragmas). 

5. Using OpenMP with RcppArmadillo: Up to now I used almost exclusively the 
Scythe Statistical Library (http://scythe.wustl.edu), which is pretty fast. I 
encountered lately problems with it, using parallel computing (OpenMP). Also 
important in this regard is the possibility to apply a 'first-touch-principle' 
where all my approaches failed in Scythe, due to the object structure. 
Now, I would like to use RccpArmadillo with OpenMP and 
                a) I want to get best performance: how would I proceed?
        
                b) I want to apply the 'first-touch-principle': where do I 
apply it? What is the internal data structure in Rcpp-/RcppArmadillo-Objects 
that allocates the memory?

I am very excited now to start work with the Rcpp/RcppArmadillo package in my 
own one, which is at least planned to be pushed to CRAN one day. 

I am looking forward to your answers

Best

Simon 
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to