[Rd] BLAS / LAPACK version information from within R-session?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Jul 10 08:02:50 CEST 2007
AFAIK all platforms by default work the same: they use dynamic libraries
for BLAS and LAPACK, and these may well be symbolic links. I know of no
way to ask a BLAS dynamic library what version it is.
On Mon, 9 Jul 2007, Peter Ruckdeschel wrote:
> for diagnostic purposes, I would like to get information about
> the BLAS / LAPACK linked against R from within an R-session.
> An obvious application could be safety-checks for packages like
> Matrix and quantreg at load / attach - time.
Why should that be needed? Those packages assume they are talking to
working dynamic libraries, and there is no way to check that a particular
library works (it might work when compiled under gcc 4.1.2 and not under
4.2.0, to take a non-random example).
> Also you could be more precise on the "framework" in which R
> is running for comparable benchmark timings on different systems.
> Perhaps this information may even be included into the output
> of R.Version() :-) ?
I can think of more worthy candidates, e.g. the compilers used to build R,
and for Linux something more precise about the distro used. Remember that
for most R users the BLAS/LAPACK speed is not very important: it
only matters where linear algebra dominates the computations. If I run R
CMD check over CRAN with an optimized BLAS the speedup is barely
noticeable (but I do get more failures).
> So my question:
> Is this possible/reasonable at all?
> My impression is that it is not trivial, as you may ---at least
> on Win32--- even replace the standard Rblas.dll by some of the
> "better" Rblas.dll 's available on
> without telling R in any way before launching R.
> In the (Win32) case I imagine you could read out the
> of the Rblas.dll being used --- which, for the time
> being, however, does not yet contain information on
> the BLAS version. But a (mid term) solution could be:
> (1) For building Rblas.dll from source, extend
> from the standard R tar-ball to a new ressource file, say,
> including version information on BLAS/LAPACK which is then
> used for building Rblas.dll.
> (2) Successively replace files from
> by ones built against blasdllversion.rc
> Unfortunately, I have no idea whether/how you could use information
> similar to StringFileInfo in other OS's ...
> Any suggestions appreciated.
> Peter Ruckdeschel
> R-devel at r-project.org mailing list
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel