Rが内部Rから使用しているBLASのバージョンを検出する方法はありますか?私はUbuntuを使用しています.BLASのいくつかのバージョンがインストールされています - 私は、Rの観点からどちらがアクティブなのか分かりません!BlasバージョンのR検出
私はhttp://r.789695.n4.nabble.com/is-Rs-own-BLAS-td911515.htmlを知っています。ブライアンリプリーが2006年6月に言ったところでは、それは不可能だと言われました。
Rが内部Rから使用しているBLASのバージョンを検出する方法はありますか?私はUbuntuを使用しています.BLASのいくつかのバージョンがインストールされています - 私は、Rの観点からどちらがアクティブなのか分かりません!BlasバージョンのR検出
私はhttp://r.789695.n4.nabble.com/is-Rs-own-BLAS-td911515.htmlを知っています。ブライアンリプリーが2006年6月に言ったところでは、それは不可能だと言われました。
私はできないと思います。 RはBLAS インタフェースに対して構築され、R自体は実際のライブラリを提供するパッケージではありません。
出力はldd
のみ見ることができます。私のサーバーでは、これがこのBLAS-提供するパッケージは、Debianのパッケージごとに最高の優先度を取得して理にかなっているアトラス
[email protected]:~$ ldd /usr/lib/R/bin/exec/R
linux-vdso.so.1 => (0x00007fffc8ddb000)
libR.so => /usr/lib/libR.so (0x00007f8be940c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8be91ef000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8be8e4d000)
libblas.so.3gf => /usr/lib/atlas-base/atlas/libblas.so.3gf (0x00007f8be88e4000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8be8660000)
libreadline.so.6 => /lib/libreadline.so.6 (0x00007f8be841d000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f8be81e1000)
liblzma.so.2 => /usr/lib/liblzma.so.2 (0x00007f8be7fbf000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8be7da6000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8be7b9e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8be799a000)
libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f8be778b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8be99a5000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f8be7475000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8be725f000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0x00007f8be7037000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f8be6e01000)
[email protected]:~$
を指します。
Macユーザーの場合、これは 'otool -L /Library/Frameworks/R.framework/R ' – user2503795
そして、debianやubuntuで、私はあなたができると思います:' update-alternatives --config libblas.so.3'。 Dirkが書いているように 'ldd'を使うと、'/etc/alternatives/libblas.so.3'へのリンクである '/ usr/lib/libblas.so.3'への私のRの参照があります。 –
あなたのシステムについては、 'update-alternatives'が良いです。私はそのトリックの周りに古いgcbdパッケージ/ testing framework/vignetteを作りました。私は(Rユーザー)対面のコマンドとしてそれをお勧めしているかどうかはわかりません。 –
lsofがインストールされている場合、Linux用の部分的な答え。
# on a system using openblas:
> grep('blas', system2('lsof', c('-p', Sys.getpid()), stdout=TRUE), value = TRUE)
[1] "R 282 docker mem REG 0,52 29998440 233 /usr/lib/libopenblasp-r0.2.12.so"
# on a system using R internal Blas:
> grep('blas', system2('lsof', c('-p', Sys.getpid()), stdout=TRUE), value = TRUE)
[1] "R 157 docker mem REG 0,44 180936 3105 /usr/local/lib/R/lib/libRblas.so"
この行には[gcbd] [1]というパッケージに何かがありますか?それは私が最初から見ているところです。 [1]:http://cran.r-project.org/web/packages/gcbd/index.html – cbeleites