标签: lapack

多核系统的并行线性代数

我正在开发一个需要进行重线性代数计算的程序.

现在我正在使用LAPACK/BLAS例程,但我需要利用我的机器(24核Xeon X5690).

我发现像pblasscalapack这样的项目,但它们似乎都专注于分布式计算和使用MPI.

我没有可用的集群,所有计算都将在一台服务器上完成,并且使用MPI看起来像是一种过度杀伤力.

有人对此有任何建议吗?

parallel-processing linear-algebra lapack

10
推荐指数
2
解决办法
8515
查看次数

不应该LAPACK dsyevr函数(对于特征值和特征向量)是线程安全的吗?

在尝试并行计算几个矩阵的特征值和特征向量时,我发现LAPACK dsyevr函数似乎不是线程安全的.

  • 这对任何人都知道吗?
  • 我的代码有问题吗?(见下面的最小例子)
  • 任何关于密集矩阵的eigensolver实现的建议都不是太慢并且绝对是线程安全的,这是值得欢迎的.

这是C中的一个最小代码示例,它演示了这个问题:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <assert.h>
#include <omp.h>
#include "lapacke.h"

#define M 8 /* number of matrices to be diagonalized */
#define N 1000 /* size of each matrix (real, symmetric) */

typedef double vec_t[N]; /* type for length N vector */
typedef double mtx_t[N][N]; /* type for N x N matrices */

void 
init(int m, int n, mtx_t *A){
    /* init m symmetric n x x matrices …
Run Code Online (Sandbox Code Playgroud)

c fortran thread-safety eigenvector lapack

10
推荐指数
1
解决办法
2388
查看次数

无法导入numpy:错误:/usr/lib/liblapack.so.3:undefined symbol:gotoblas

当我尝试导入numpy时,我收到以下错误:

/usr/local/lib/python2.7/dist-packages/numpy/linalg/__init__.py in <module>()
     49 from .info import __doc__
     50 
---> 51 from .linalg import *
     52 
     53 from numpy.testing import Tester

/usr/local/lib/python2.7/dist-packages/numpy/linalg/linalg.py in <module>()
     27     )
     28 from numpy.lib import triu, asfarray
---> 29 from numpy.linalg import lapack_lite, _umath_linalg
     30 from numpy.matrixlib.defmatrix import matrix_power
     31 from numpy.compat import asbytes

ImportError: /usr/lib/liblapack.so.3: undefined symbol: gotoblas
Run Code Online (Sandbox Code Playgroud)

我已经尝试过解决方案发布错误导入numpy:lapack_lite.so:未定义符号GotoBLAS错误安装matplotlib与pip在virtualenv上debian wheezy

我已经尝试了以下所有选项:

vvkulkarni@galileo:~$ sudo update-alternatives --config liblapack.so.3
There are 3 choices for the alternative liblapack.so.3 (providing /usr/lib/liblapack.so.3).

  Selection    Path                                      Priority   Status …
Run Code Online (Sandbox Code Playgroud)

python numpy blas lapack openblas

10
推荐指数
2
解决办法
6861
查看次数

lapacke和lapack之间的区别

我想知道LAPACK E和LAPACK 之间有什么区别.我想用QZ分解进行特征分析,但我不确定是否应该从LAPACK E或LAPACK开始.我感谢任何帮助.

c++ lapack lapacke

10
推荐指数
2
解决办法
5369
查看次数

如何确定我的R安装使用的矩阵库?

在我的大学使用我无法在本地计算机上重现的计算机群集时出现矩阵错误.我认为这可能是由于矩阵库(BLAS,LAPACK,ATLAS等)的不同.除了我在这里阅读的内容之外,我对这些库知之甚少,但我认为应该有办法让R告诉我它安装了哪些矩阵库(即它使用的是哪些),类似的到sessionInfo()告诉我它使用的是哪个版本的R包.

r build blas lapack atlas

10
推荐指数
1
解决办法
594
查看次数

无法通过pyCharm windows 8安装scipy - 找不到lapack/blas资源

我目前在通过PyCharm的软件包管理器安装scipy时遇到问题.我已经成功安装了numpy并且在系统变量中安装了Microsoft Visual Studio C/C++编译器.

但是,当在PyCharm中安装scipy时,会发生以下错误:

执行命令:pip install scipy

发生错误:numpy.distutils.system_info.NotFoundError:找不到lapack/blas资源

我已经看到了在windows上安装blas/lapack的其他资源,但我不确定它是否适用于PyCharm的安装.

如果有人有解决方案/资源重定向我,请告诉我.

python blas lapack pycharm

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

Octave,R,Numpy和LAPACK在同一矩阵上产生不同SVD结果的原因是什么?

我正在使用Octave和R来使用简单的矩阵计算SVD并得到两个不同的答案!代码如下:

[R

> a<-matrix(c(1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1), 9, 4)
> a
 [,1] [,2] [,3] [,4]
 [1,]    1    1    0    0
 [2,]    1    1    0    0
 [3,]    1    1    0    0
 [4,]    1    0    1    0
 [5,]    1    0    1    0
 [6,]    1    0    1    0
 [7,]    1    0    0    1
 [8,]    1    0    0    1
 [9,]    1    0    0    1
> a.svd <- svd(a)
> a.svd$d
[1] 3.464102e+00 1.732051e+00 1.732051e+00 1.922963e-16
> a.svd$u
       [,1]       [,2]          [,3]          [,4]
 [1,] -0.3333333  0.4714045 -1.741269e-16  7.760882e-01
 [2,] …
Run Code Online (Sandbox Code Playgroud)

numpy r octave svd lapack

9
推荐指数
1
解决办法
2029
查看次数

调用MATLAB的内置LAPACK/BLAS例程

我想学习如何在MATLAB中调用内置的LAPACK/BLAS例程.我有MATLAB和mex文件的经验但我实际上不知道如何调用LAPACK或BLAS库.我发现在网关程序文件交换,简化了电话,因为我没有写任何功能的MEX文件,如这一个.我需要任何玩具示例来学习MATLAB和这些内置库之间的基本消息传递.任何玩具示例,如矩阵乘法或LU分解都是受欢迎的.

matlab linear-algebra blas lapack

9
推荐指数
1
解决办法
6314
查看次数

LAPACK:打包存储矩阵上的操作是否更快?

我想使用Fortran和LAPACK对一个真正的对称矩阵进行三角对比化.LAPACK基本上提供了两个例程,一个在完整矩阵上运行,另一个在打包存储中的矩阵上运行.虽然后者确实使用较少的内存,但我想知道速度差异是否可以说什么呢?

fortran lapack

9
推荐指数
1
解决办法
1472
查看次数

如何将VAMP插件编译为iOS ARMV7

伦敦玛丽皇后学院的VAMP插件是一个惊人的BSD许可软件集合.所有这些插件都是Sonic Visualizer软件 的基础.也可以使用插件Sdk来构建插件.

您可以为OSX/Linux/Win32目标构建插件.

Queen Mart大学在这里很好地解释了插件架构以及如何为上面指定的不同平台构建.

Java版本,jVamp也可用.一个Python包装器也.

但是,如何为iOS平台构建?

所以,我尝试将Makefile移植到iOS.

首先我更改了文件

build/osx/Makefile.osx
Run Code Online (Sandbox Code Playgroud)

通过这种方式:

CFLAGS := -O3 -ftree-vectorize -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -arch x86_64 -I../vamp-plugin-sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Headers/ -DUSE_PTHREADS

CXXFLAGS  := $(CFLAGS)

LDFLAGS   := -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -arch x86_64 -lqm-dsp ../vamp-plugin-sdk/libvamp-sdk.a -framework Accelerate -lpthread -exported_symbols_list=vamp-plugin.list -install_name qm-vamp-plugins.a

PLUGIN_EXT   := .a

include build/general/Makefile.inc
Run Code Online (Sandbox Code Playgroud)

然后建立

macbookproloreto:qm-vamp-plugins loreto$ make -f build/osx/Makefile.osx
cc -O3 -ftree-vectorize -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -arch x86_64 -I../vamp-plugin-sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Headers/ -DUSE_PTHREADS -I. -I../qm-dsp   -c -o g2cstubs.o g2cstubs.c
c++ -O3 -ftree-vectorize -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk …
Run Code Online (Sandbox Code Playgroud)

audio boost makefile lapack ios

9
推荐指数
1
解决办法
1628
查看次数