Extending R packages to support 64-bit compiled code: An illustration with spam64 and GIMMS NDVI3g data

View Researcher's Other Codes

Disclaimer: The provided code links for this paper are external links. Science Nest has no responsibility for the accuracy, legality or content of these links. Also, by downloading this code(s), you agree to comply with the terms of use as set out by the author(s) of the code(s).

Authors Florian Gerber, Kaspar Mösinger, Reinhard Furrer
Journal/Conference Name Computers & Geosciences
Paper Category
Paper Abstract Software packages for spatial data often implement a hybrid approach of interpreted and compiled programming languages. The compiled parts are usually written in C, C++, or Fortran, and are efficient in terms of computational speed and memory usage. Conversely, the interpreted part serves as a convenient user-interface and calls the compiled code for computationally demanding operations. The price paid for the user friendliness of the interpreted component isbesides performancethe limited access to low level and optimized code. An example of such a restriction is the 64-bit vector support of the widely used statistical language R. On the R side, users do not need to change existing code and may not even notice the extension. On the other hand, interfacing 64-bit compiled code efficiently is challenging. Since many R packages for spatial data could benefit from 64-bit vectors, we investigate strategies to efficiently pass 64-bit vectors to compiled languages. More precisely, we show how to simply extend existing R packages using the foreign function interface to seamlessly support 64-bit vectors. This extension is shown with the sparse matrix algebra R package spam. The new capabilities are illustrated with an example of GIMMS NDVI3g data featuring a parametric modeling approach for a non-stationary covariance matrix. Graphical abstractDisplay Omitted HighlightsThe 64-bit capability of R in conjunction with compiled code is explored.A simple strategy to enhance entire R packages with long vectors is shown.The sparse matrix R package spam is extended to work with larger matrices.This concept enables spatial modeling with data structures featuring >231 elements.A non-stationary covariance model is fitted to a huge NDVI residual field.
Date of publication 2017
Code Programming Language R

Copyright Researcher 2022