- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想使用可在此处下载的可用软件包从源代码安装 BLAS、CBLAS、LAPACK 和 OpenBLAS 库 openblas和 lapack , blas/cblas .
首先我删除了我的系统 blas/cblas 和 lapack 库,但不幸的是无法卸载 atlas 库(我可以同时拥有 blas 和 lapack 或 atlas - 不能全部删除它们)。我没有打扰并开始编译下载的库,因为我认为安装后我可以删除 atlas。
构建过程基于this教程。为了完整起见,我将列出步骤:
OpenBLAS。编辑 Makefile.rule (NO_CBLAS=1, NO_LAPACK=1, NO_LAPACKE=1) 文件后,我运行以下代码:
make FC=gfortran
sudo make PREFIX=/usr/local/ install
CBLAS。编辑 Makefile.in 后(除了 -lpthread 之外,我需要添加 -pthread 标志):
make
cd lib
ar -x libcblas.a
gfortran -lopenblas -shared -o libcblas.so *.o
sudo cp libcblas.* /usr/local/lib/
拉帕克。编辑 make.inc 文件后:
make lapacklib
mkdir tmp
cd tmp
cp ../liblapack.3.6.0.a .
ar -x liblapack.3.6.0.a
gfortran -lopenblas -lcblas -shared -o liblapack.3.6.0.so *.o
sudo cp liblapack.3.6.0.* /usr/local/lib
cd /usr/local/lib
sudo ln -sn liblapack.3.6.0.a liblapack.a
sudo ln -sn liblapack.3.6.0.so liblapack.so
拉帕克。我通过以下方式为 gcc 编辑了 make.inc 文件:
CC = gcc
CFLAGS = -O3 -march=native -m64 -fomit-frame-pointer -fPIC
然后我运行:
make lapackelib
mkdir tmpe
cd tmpe
cp ../liblapacke.a .
ar -x liblapacke.a
gfortran -lopenblas -lcblas -shared -o liblapacke.so *.o
sudo cp liblapacke.* /usr/local/lib
BLAS。我编辑了 make.inc 文件:
FORTRAN = gfortran
OPTS = -O3 -march=native -m64 -fomit-frame-pointer -fPIC
DRVOPTS = $(OPTS)
NOOPT = -O0 -fPIC
LOADER = gfortran
LOADOPTS = -lopenblas -lcblas
然后运行:
make
gfortran -lopenblas -shared -o libblas.so *.o
sudo cp libblas.* /usr/local/lib/
现在我的静态库和共享库都放在/usr/local/lib 目录中,我想以某种方式告诉我的 linux mint 17.2 系统我已经安装了它们,以便我最终可以卸载 atlas。有什么想法吗?
我的总体目标是正确设置 OpenBLAS,因此我也想从源代码编译所有其他库。我还想检查我的库是否正常工作或者我做错了什么。
另外,我的长期目标是安装 Arpack 和 SuperLU 与 OpenBLAS 一起使用,然后最终安装 Armadillo 库 (C++)。
最佳答案
您可以使用 LD_LIBRARY_PATH
环境变量。刚刚添加到您的 ~/.bashrc
中。即
$ echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
注意:注意双>>>不要删除之前的内容。
第二个选项是在/etc/ld.so.conf.d
中添加路径。即
$ echo /usr/local/lib > /etc/ld.so.conf.d/myblas.conf
可以查看this question也了解更多详情。
关于linux - lapack/blas/openblas 从源代码正确安装 - 用新的替换系统库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36676449/
我从 C++ atm 开始,希望使用矩阵并加快总体速度。之前使用过 Python+Numpy+OpenBLAS。认为 c++ + Eigen + MKL 可能更快或至少不慢。 我的 C++ 代码: #
是否可以像 sudo apt-get install openblas-dev 这样通过 apt-get 安装 openblas? 似乎在 ubuntu 14.04 上找不到它。 sudo apt-g
在 C++17 中,我想使用多个 OpenBLAS 子程序,每个子程序具有不同的线程数。有什么办法可以做到这一点? 过去,我使用过 openblas_set_num_threads();为我的 Ope
存在实现矩阵类型和计算的 C++ 库,例如 Eigen 或 Boost::uBlas。 还有一些库,例如 LAPACK、Goto-BLAS、OpenBLAS 和 ATLAS,可在浮点类型上实现高度优化
我能够在 MinGW64 下编译 Armadillo + OpenBLAS,但是链接是通过“libopenblas”,我认为它是 dll。在 Ubuntu 下,我可以通过我认为是静态的“openbla
我在 Ubuntu 14.04 64 位的硕士论文中成功使用了 Armadillo 和 OpenBLAS(安装了 Armadillo 和没有安装)。性能非常出色——我的代码主要由基本矩阵运算组成。所有
我编译了 OpenBLAS 并将其安装在/usr/lib/libopenblas现在我想在运行的替代系统中安装库 #!/bin/bash update-alternatives --install
我已经在 TX1 中安装了 OpenBlas,并且 time_dgemm 示例使用 gcc 编译得很好。但是,我需要能够使用 g++ 将其余代码与 OpenBlas 链接起来。当我尝试使用 g++ 编
我正在使用 numpy,我的模型涉及密集的矩阵-矩阵乘法。为了加快速度,我使用 OpenBLAS 多线程库来并行化 numpy.dot 函数。 我的设置如下, 操作系统:CentOS 6.2 服务器
我需要将 Armadillo (当前版本为 5.100.1)作为 $HOME 中的本地库(集群应用程序,不能安装在每个计算节点上,但 $HOME 是共享文件夹)。我正在使用 cmake 来管理应用程序
我需要用 Fortran 制作一个点积。我可以使用内在函数 dot_product来自 Fortran 或使用 ddot来自 OpenBLAS。问题是 ddot 速度较慢。这是我的代码: 使用BLAS
我最近下载并构建了 Spark 2.3.1。我使用这些命令下载并选择版本 2.3.1 git clone https://github.com/apache/spark.git cd spark
我有一台 Windows 7-64 位计算机,我正在尝试通过 Msys2 构建 OpenBlas 库。 gcc 似乎存在一些问题,因为在安装 minGW 和解压缩的 OpenBlas 文件夹后,我打开
我的标题中某处有此声明: typedef float real; typedef int integer; extern "C" { extern int sgemm_(char *transa, c
我安装了 OpenBlas 并且可以通过使用编译链接到 OpenBlas 的 C 程序 gcc testOpenBlas.c -I /opt/OpenBLAS/include/ -L/opt/Op
我想知道是否可以在(Python)运行时更改 OpenBLAS 在 numpy 后面使用的最大线程数? 我知道可以在通过环境变量 OMP_NUM_THREADS 运行解释器之前设置它,但我想在运行时更
我正在尝试使用 OpenBLAS 安装 numpy ,但是我不知道如何编写 site.cfg 文件. 当installation procedure随后安装完成且没有错误,但是将 OpenBLAS 使
我正在尝试在 OSX Mavericks 上构建 OpenBLAS ( http://www.openblas.net/ ) 只需键入“make”,它就会在 make 过程的几分钟内遇到错误。 我已经
为了演示,我使用 3 行 CMakeLists.txt: cmake_minimum_required(VERSION 2.8) find_package( BLAS REQUIRED ) messa
我正在使用OpenBLAS我的 BLAS和 LAPACK例行通话。我不想要我的 C++ 的用户群库必须在他们的机器上安装依赖项。所以我想提供OpenBLAS我的图书馆 third_party并有 CM
我是一名优秀的程序员,十分优秀!