[Rcpp-devel] Overriding 'ARMA_64BIT_WORD 1' in RcppArmadillo

Dirk Eddelbuettel edd at debian.org
Thu Mar 31 21:37:38 CEST 2016

On 29 March 2016 at 15:55, George Vega Yon wrote:
| Hi there,
| A couple of days ago I included this comment on a Stackoverflow question about
| "too large" matrices in RcppArmadillo
| I wonder if we can use this in a package. After trying to compile the package
| with and without PKG_CXXFLAGS=-DARMA_64BIT_WORD I'm still not able to create
| sparse matrices bigger than 65,535 x 65,535. I've realized that the
| RcppArmadilloConfig.h (version 0.6.600.4.0) file has ARMA_32BIT_WORD 1 so it
| actually prevents using ARMA_64BIT_WORD (I think?). Any way I can solve this,
| or I just have to deal with R (3.2.4 Revised (2016-03-16 r70336)) not been able
| to handle 64INT?
| http://stackoverflow.com/questions/16159174/
| large-spmat-object-with-rcpparmadillo
| For which Dirk answered:
| Try locally setting ARMA_64BIT_WORD (check how) -- I can't at the package level
| as it breaks existing code. It will likely help you. If you set it before the #
| include <RcppArmadillo.h> things may just work. That at least is the pln. (And
| you should have asked on rcpp-devel to get more than two eyeballs on this...)
| And yes the other answer basically says the same thing. – Dirk Eddelbuettel 2
| days ago
| Now I'm asking again but on rcpp-devel =). The issue is that I'm concerned on
| the part that Dirk says that "things may just work". I was reading about R not
| been able to handle int64 and its implications for big matrices, and so I'm a
| little concerned that if passing ARMA_64BIT_WORD works I may loose some
| information on the way. For example, if I allow a users creating and
| manipulating 1e6 x 1e6 sparse matrices, is there any chance for them to loose
| information?

It is entirely possibly that nobody stresses RcppArmadillo this way and that
setting ARMA_64BIT_WORD gets unset.   I only know that I cannot set it
globally now as some packages (still) depend on ARMA_32BIT_WORD.

So I encourage you to experiment and to try locally.  Maybe something can
(and even should) be improved.


| Thanks,
| George G. Vega Yon
| +1 (626) 381 8171
| http://www.its.caltech.edu/~gvegayon/
| _______________________________________________
| 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