问题描述
我正在处理一个很大的计算问题。为了降低方矩阵中一组线性方程的计算速度,我使用了lapack
和blas
。为了在笔记本电脑上获取这些库(Ubuntu 2020),我运行了以下命令
sudo apt-get install libblas-dev liblapack-dev
然后我通过输入以下内容链接到编译时的代码
g++ main.cpp -llapack -lblas
但是,我正在处理的群集似乎未同时安装两个库。它在群集上速度较慢,但在芯片上却更好。它可以运行,所以我认为它安装了lapack
个库,但没有安装blas
。我想同时安装两者。
我该如何构建和编译lapack
和blas
库,而没有 不能访问root或apt-get
?
这是一个简短的测试脚本。
#include <iostream>
#include <vector>
extern "C" void dgesv_( int *n,int *nrhs,double *a,int *lda,int *ipiv,double *b,int *lbd,int *info );
int main() {
int SIZE = 3;
int nrhs = 1; // one column in b
int lda = SIZE;
int ldb = SIZE;
std::vector<int> i_piv(SIZE,0); // pivot column vector
int info;
std::vector<double> A(SIZE*SIZE,0); // sq mat with 0's
A = {5,2,8,9,7,10,3,4};
std::vector<double> b(SIZE);
b = {22,13,17};
dgesv_( &SIZE,&nrhs,&*A.begin(),&lda,&*i_piv.begin(),&*b.begin(),&ldb,&info );
return 0;
}
我想用
构建它g++ main.cpp -L/path/to/lapack -L/path/to/blas -llapack -lblas
其中b矩阵被解决方案替换,解决方案为1.71,1.29,0.18
(这是任意的,因此我没有在代码中提供“ print_matrix”函数来减少混乱)。
谢谢您的时间。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)