[R-sig-Debian] Openblas?
Göran Broström
gor@n@bro@trom @end|ng |rom umu@@e
Wed Jul 15 16:13:41 CEST 2020
On 2020-07-15 14:36, Dirk Eddelbuettel wrote:
>
> Göran,
>
> This is not an easy email to reply to because it _contains nothing
> reproducible_.
Thanks Dirk,
Sorry about that, but my real question was (see below): "Is the problem
that openblas uses C versions of blas?" That is, do I need to change
F77_CALL(name)(...);
to
cblas_name(...);
everywhere? And if so, is this really a good idea with old code?
I'll try to extract a reproducible example from the package (eha) where
I run it.
Göran
>
> On 15 July 2020 at 13:24, Göran Broström wrote:
> | Hello,
> |
> | I thought that I should try openblas when building a CRAN package
> | containing lots of old (twentieth century) C-code with frequent calls to
> | blas and lapack routines. I have the following options on my Ubuntu
> | 20.04 machine:
> |
> | Selection Path Priority Status
> | ------------------------------------------------------------
> | * 0 openblas-pthread/libblas.so.3 100 auto mode
> | 1 blas/libblas.so.3 10 manual mode
> | 2 openblas-openmp/libblas.so.3 95 manual mode
> | 3 openblas-pthread/libblas.so.3 100 manual mode
> |
> | I tried all four alternatives by timing one particular function call and
> | got quite surprising (to me) results:
> |
> | Selection user system elapsed
> | 0 3.279 1.839 1.900
> | 1 0.899 0.052 0.953
> | 2 158.948 3.661 20.915
> | 3 3.277 1.894 1.908
> |
> | Comments on that?
>
> How could I comment? I do not know what code you ran.
>
> | To me it seems clear that openblas (0, 2, 3) has
> | nothing to offer me, as my C code stands now. Is the problem that
> | openblas uses C versions of blas? I am using the Fortran version via
> |
> | F77_CALL(name)
> |
> | I tried adding
> |
> | PKG_CFLAGS = $(SHLIB_OPENMP_CFLAGS)
> | PKG_LIBS = $(SHLIB_OPENMP_CFLAGS)
>
> This is missing LAPACK and BLAS so ...
> |
> | to src/Makevars, but then I got
> |
> | ...undefined symbol: dsytri_
>
> ... so get a _linker error_ about missing symbols.
>
> | when compiling.
>
> You meant linking, not compiling.
>
> Dirk
>
More information about the R-SIG-Debian
mailing list