[Rcpp-devel] [ANN] RcppArmadillo 0.7.900.2.0

Dirk Eddelbuettel edd at debian.org
Sun Jun 4 16:58:51 CEST 2017


A new RcppArmadillo release is on CRAN after quite some rounds of testing,
and prereleases announced here. It offers OpenMP "inside" Armadillo
operations which is pretty neat.  See the included blog post below, the full
version with hyperlinks is at

   http://dirk.eddelbuettel.com/blog/2017/06/04#rcpparmadillo_0.7.900.2.0

Thanks,  Dirk


  Sun, 04 Jun 2017

  RcppArmadillo 0.7.900.2.0

   armadillo image

   The new RcppArmadillo release 0.7.900.2.0 is now on CRAN, and the Debian
   package was just updated as well.

   Armadillo is a powerful and expressive C++ template library for linear
   algebra aiming towards a good balance between speed and ease of use with a
   syntax deliberately close to a Matlab. RcppArmadillo integrates this
   library with the R environment and language--and is widely used by
   (currently) 350 other packages on CRAN---an increase of 32 since the last
   CRAN release of 0.7.800.2.0 in April!

   With the 7.900.* series of Armadillo, Conrad has started to more fully
   utilize OpenMP (also see Wikipedia on OpenMP) for operations that can be
   parallelized. To use this in your package you need to update its
   src/Makevars{,.win} file similarly to what the skeleton default now uses

 PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS)
 PKG_LIBS = $(SHLIB_OPENMP_CFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

   and you may want to enable C++11 while you are at it---though this may
   pose issues with older-than-ancient RHEL installations which are still
   (way too) pervasive so we do not do it by default (yet).

   Here, we once again rely on the build infrastructure automagically
   provided by R itself: if and when OpenMP is available, R will use it via
   $(SHLIB_OPENMP_CXXFLAGS) etc; see the fine WRE manual for details. That
   said, some operating systems make this harder than other, and macOS
   usually takes the crown. See for example this blog post by James for
   surviving in that environment. I am a little short of details because on
   Linux these things just work, and have for well over a decade. The
   rcpp-devel mailing list will be the best place for questions.

   Changes in this release relative to the previous CRAN release are as
   follows:

    Changes in RcppArmadillo version 0.7.900.2.0 (2017-06-02)

       * Upgraded to Armadillo release 7.900.2 (Evil Banana Republic)

            * Expanded clamp() to handle cubes

            * Computationally expensive element-wise functions (such as
              exp(), log(), cos(), etc) can now be automatically sped up via
              OpenMP; this requires a C++11/C++14 compiler with OpenMP 3.0+
              support for GCC and clang compilers

            * One caveat: when using GCC, use of -march=native in conjunction
              with -fopenmp may lead to speed regressions on recent
              processors

       * Added gcc 7 to support compiler check (James Balamuta in #128
         addressing #126).

       * A unit test helper function for rmultinom was corrected (#133).

       * OpenMP support was added to the skeleton helper in inline.R

   Courtesy of CRANberries, there is a diffstat report. More detailed
   information is on the RcppArmadillo page. Questions, comments etc should
   go to the rcpp-devel mailing list off the R-Forge page.

   This post by Dirk Eddelbuettel originated on his Thinking inside the box
   blog. Please report excessive re-aggregation in third-party for-profit
   settings.

                                                  /code/rcpp | permanent link

                                                                        [IMG]


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


More information about the Rcpp-devel mailing list