标签: openblas

Scipy安装问题,得到ImportError:libopenblas.so.0:无法打开共享对象文件或目录

我安装Scipy-0.16.1Ubuntu 14.04

OpenBLAS_0.2.18Numpy-1.11.0已安装没有问题.

Scipy-0.16.1.tar.gz 已下载

site.cfg 复制并取消注释以下行:

[openblas]

libraries = openblas

library_dirs = /opt/OpenBLAS/lib

include_dirs = /opt/OpenBLAS/include
Run Code Online (Sandbox Code Playgroud)

添加了一行 ~/.bashrc

export LD_LIBRARY_PATH=/opt/OpenBLAS/lib:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

source~/.bashrc

LDCONFIG

sudo python setup.py配置

错误

ImportError:libopenblas.so.0:无法打开共享对象文件:没有这样的文件或目录

python numpy scipy openblas

5
推荐指数
1
解决办法
8020
查看次数

为什么numpy.float16打破了OpenBlas/Atlas的功能?

好吧,我知道float16它不是一个真正的原始类型,但它是由Python/numpy模拟的.但问题是:如果存在且Python允许在使用该numpy.dot()函数的数组乘法中使用它,为什么OpenBlas(或ATLAS)不能正常工作?我的意思是,乘法有效,但并行计算没有.或者,再次,以不同的方式(在我看来更好),为什么Python/numpy允许使用,float16如果那时我们不能利用OpenBlas/ATLAS提供的高级功能?

python performance numpy atlas openblas

4
推荐指数
1
解决办法
2142
查看次数

没有OpenBLAS,为什么numpy/scipy更快?

我做了两个安装:

  1. brew install numpy (和scipy) --with-openblas
  2. 克隆的GIT存储库(用于numpy和scipy)并自己构建它

在克隆了两个方便的脚本以在多线程环境中验证这些库之后:

git clone https://gist.github.com/3842524.git
Run Code Online (Sandbox Code Playgroud)

然后对于我正在执行的每个安装show_config:

python -c "import scipy as np; np.show_config()"
Run Code Online (Sandbox Code Playgroud)

对于安装1来说一切都很好:

lapack_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = f77
blas_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = f77
openblas_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = f77
blas_mkl_info:
    NOT AVAILABLE
Run Code Online (Sandbox Code Playgroud)

但安装2事情并不那么光明:

lapack_opt_info:
    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
    extra_compile_args = ['-msse3']
    define_macros = [('NO_ATLAS_INFO', 3)]
blas_opt_info:
    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
    extra_compile_args = ['-msse3', '- …
Run Code Online (Sandbox Code Playgroud)

python performance numpy scipy openblas

4
推荐指数
1
解决办法
3403
查看次数

Cython prange较慢,4线程然后有范围

我目前正在尝试使用一个简单的例子来并行化循环与cython的prange.我已经安装了OpenBlas 0.2.14,允许使用openmp并编译了numpy 1.10.1和scipy 0.16来自openblas的源代码.为了测试库的性能,我遵循这个例子:http://nealhughes.net/parallelcomp2/.要定时的函数从站点复制:

import numpy as np
from math import exp 
from libc.math cimport exp as c_exp
from cython.parallel import prange,parallel

def array_f(X):

    Y = np.zeros(X.shape)
    index = X > 0.5
    Y[index] = np.exp(X[index])

    return Y

def c_array_f(double[:] X):

    cdef int N = X.shape[0]
    cdef double[:] Y = np.zeros(N)
    cdef int i

    for i in range(N):
        if X[i] > 0.5:
            Y[i] = c_exp(X[i])
        else:
            Y[i] = 0

    return Y


def c_array_f_multi(double[:] X):

    cdef int N …
Run Code Online (Sandbox Code Playgroud)

python numpy cython openblas

4
推荐指数
1
解决办法
3179
查看次数

浮点数与定点数:Intel I5 CPU上的速度

我有一个C/C++程序,它涉及密集的32位浮点矩阵数学计算,如加法,减法,乘法,除法等.

我可以通过将32位浮点数转换为16位定点数来加速我的程序吗?我可以获得多少速度增益?

目前我正在研究Intel I5 CPU.我正在使用Openblas来执行矩阵计算.我应该如何重新实现openblas函数(如cblas_dgemm)来执行定点计算?

我知道SSE(简单SIMD扩展)一次运行4x32 = 8x16 = 128位数据,即4个32位浮点类型或8个16位定点类型.我想在从32位浮点转换为16位定点后,我的程序会快两倍.

performance sse simd matrix openblas

4
推荐指数
1
解决办法
2237
查看次数

Dask 出现“内存区域过多”错误

将 Dask 与 Dask 阵列一起使用时,我突然收到以下错误,并且我的内核死机/重新启动。

控制台说:

BLAS : Program is Terminated. Because you tried to allocate too many memory regions
Run Code Online (Sandbox Code Playgroud)

我在 Mac 上使用 OpenBLAS 使用 Anaconda。任何的想法?

注意:这个问题是通过其他方式给我的,我在这里重复一遍以备将来参考

openblas dask

4
推荐指数
1
解决办法
1054
查看次数

静态链接到 libopenblas

我正在编译一个C++程序,-static以便我可以将程序带到服务器并运行它。服务器尚未安装我链接的所有库,当尝试运行该程序时,我收到由于未安装libopenblas.so.0而无法找到的错误:OpenBLAS

error while loading shared libraries: libopenblas.so.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我需要OpenBLAS线性代数库Armadillo,并使用标志进行编译

-std=c++11 -static -pthread -Ofast -march=native -mtune=native -m64 -Wall -Werror -Wextra -Wno-long-long -Ishared_methods -Icreate_codes/source_files -Ievaluate_codes/source_files -Igenomes/source_files -lopenblas -llapack -lgfortran
Run Code Online (Sandbox Code Playgroud)

那么是不可能静态链接OpenBLAS还是我做错了什么?

编辑:这是我的生成文件。为了简单起见,我删除了其他程序的命令和定义。

CXX =       h5c++

CXXFLAGS=   -std=c++11 -static -pthread -Ofast -march=native -mtune=native -m64 -Wall -Werror -Wextra -Wno-long-long -Ishared_methods -Ievaluate_codes/source_files

ENDFLAGS = -lopenblas -llapack -lgfortran

RELDIR_E =  ./evaluate_codes/source_files
RELDIR_M =  ./shared_methods

HEADERS …
Run Code Online (Sandbox Code Playgroud)

c++ static openblas

4
推荐指数
1
解决办法
3141
查看次数

为什么设置“export OPENBLAS_NUM_THREADS=1”会损害性能?

我尝试按照本文档的建议设置“export OPENBLAS_NUM_THREADS=1” 。但我发现一个奇怪的现象,设置这个会显着损害我的 RL 算法的性能(我对 TD3 和 SAC 做了一些测试,所有结果一致表明“导出 OPENBLAS_NUM_THREADS=1”会损害性能)。为什么会造成这么大的问题呢?

顺便说一句,算法是使用 Tensorflow1.13 实现的,数据通过tf.data.Dataset输入神经网络。所有测试均在OpenAI Gym 的BipedalWalker-v2环境中完成。

python multithreading reinforcement-learning openblas tensorflow

4
推荐指数
1
解决办法
1万
查看次数

安装BLAS/ATLAS/MKL/OPENBLAS会加速用C/C++编写的R包吗?

我发现使用BLAS/ATLAS/MKL/OPENBLAS之一将提高R的速度.但是,它是否仍然会改进用C或C++编写的R包?例如,R包Glmnet在FORTRAN中实现,R包rpart在C++中实现.它只是安装BLAS/...等会改善执行时间吗?或者我们是否必须重建(构建新的C代码)基于BLAS/...等的包?

r blas atlas intel-mkl openblas

3
推荐指数
1
解决办法
1793
查看次数

数值文字0.e0f是什么意思?

我目前正在尝试调试未初始化的内存错误.我现在遇到OpenBlas源代码中的数字文字0.e0f(这是调试器当前所在的)这是什么意思?

上下文是这样的:

if ((alpha_r == 0.e0f) && (alpha_i == 0.e0f)) return;
Run Code Online (Sandbox Code Playgroud)

0.e0f显然评估为0.

c literals openblas

2
推荐指数
1
解决办法
1127
查看次数