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
_______________________________________________
R-SIG-Debian mailing list
R-SIG-Debian@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-debian