OpenBLAS安装手册

BLAS是基本的矩阵库,OpenBLAS是高性能多核BLAS库,是GotoBLAS2 1.13 BSD版本的衍生版,Lapack是矩阵线性运算库,实现了多种矩阵的运算,且底层使用BLAS。CentOS安装OpenBLAS指南,目的是为了加快集群操作矩阵的速度,OpenBLAS的详细介绍请参考:
https://github.com/xianyi/OpenBLAS
https://github.com/xianyi/OpenBLAS/wiki/Donation
http://www.openblas.net/
环境安装
Centos安装gcc及g++
安装gcc:yum install gcc
安装g++:yum install gcc-c++
Centos升级gcc4.4.7升级gcc4.8
1、查看gcc版本
gcc -v
2、下载源码包
wget http: //ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2
tar -jxvf gcc-4.8.0.tar.bz2
3、下载编译所需依赖库
cd gcc-4.8.0
./contrib/download_prerequisites
cd ..
4、建立编译输出目录
mkdir gcc-build-4.8.0
5、进入此目录,执行以下命令,生成makefile文件
cd gcc-build-4.8.0
../gcc-4.8.0/configure –enable-checking=release –enable –languages=c,c++,fortran,go –disable-multilib
6、编译
#j 后面的是核心数,编译速度会比较快
make -j4
7、安装
make install
8、切换GCC到新版
确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下,确认当前版本已经切换为新版<无效则重启机器>
gcc –v
gcc版本选择设置:
update-alternatives –config gcc
有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)
选择 路径 优先级 状态

  • 0 /usr/bin/gcc-4.5 40 自动模式
  • 1 /usr/bin/gcc-4.5 40 手动模式

参考文档:
https://gcc.gnu.org/wiki/InstallingGCC
http://www.mudbest.com/centos%E5%8D%87%E7%BA%A7gcc4-4-7%E5%8D%87%E7%BA%A7gcc4-8%E6%89%8B%E8%AE%B0/
http://m.blog.youkuaiyun.com/blog/yujunan/9036667
安装OpenBLAS
下载binutils编译包,地址:
http://sourceforge.net/projects/slurm-roll/files/addons/6.1.1/rpms/pb-binutils224-2.24-1.x86_64.rpm
安装后,配置环境:PATH=/opt/pb/binutils-2.24/bin:$PATH or module load binutils/binutils-2.24
详细信息参考:
https://github.com/xianyi/OpenBLAS/wiki/Faq
下载OpenBLAS源码,源码地址:
https://github.com/xianyi/OpenBLAS
解压源码包,进入源码目录,运行命令:make FC=gfortran
如果提示库缺失,参照:
http://blog.youkuaiyun.com/guoyilongedu/article/details/17450815
http://blog.youkuaiyun.com/sahusoft/article/details/7388617
将缺失的库文件加进ld.so.conf,运行ldconfig使配置文件生效,重新编译。
如果OpenBLAS编译成功,运行make install (将OpenBLAS安装到/opt下)
调用OpenBLAS库,运行命令:
ln -s /opt/OpenBLAS/lib/libopenblas.so /usr/lib/libblas.so.3
ln -s /opt/OpenBLAS/lib/libopenblas.so /usr/lib/liblapack.so.3

刚发现,可以用yum install blas安装,,我去,btw还需要安装 blas-devel <自己编译,会针对本机CPU进行优化,而yum不行>
除了blas的包,还得安装lapack、lapack-devel、atlas、atlas-devel,幸好可以yum安装。
运行以下代码即可
Shell代码(CentOS)
yum install blas blas-devel lapack lapack-devel atlas atlas-devel –nogpgcheck
注意:atlas的安装包不是 atlas-c++.x86_64 atlas-c++-devel.x86_64,这俩是一个接口啥啥。Shell代码(Ubuntu 14.04)
Ubuntu14.4(已测试)安装NativeSystemBLAS
sudo apt-get install libatlas3-base libopenblas-base
sudo update-alternatives –config libblas.so
sudo update-alternatives –config libblas.so.3
sudo update-alternatives –config liblapack.so
sudo update-alternatives –config liblapack.so.3
0 /usr/lib/openblas-base/libblas.so.3 40 自动模式
1 /usr/lib/atlas-base/atlas/libblas.so.3 35 手动模式
2 /usr/lib/openblas-base/libblas.so.3 40 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:1
update-alternatives: using /usr/lib/atlas-base/atlas/libblas.so.3 to provide /usr/lib/libblas.so.3 (libblas.so.3) in 手动模式

<think>嗯,用户在使用sudo apt remove libopenblas-base时遇到了错误:“ERROR: Could not find a version that satisfies the requirement apt”。首先,我需要分析这个错误的原因。用户可能在尝试运行一个Python相关的命令,因为错误信息中的“Could not find a version”通常与pip安装包时找不到匹配版本有关。但用户实际执行的是apt命令,这可能是混淆了包管理工具导致的。 可能的第一个原因是用户可能错误地使用了pip的语法,例如pip install apt,而不是使用apt命令。需要检查用户是否在命令前误加了pip或者其他Python包管理器的指令。此外,用户可能环境变量或PATH设置有误,导致系统将apt解释为Python模块,但这种情况较为少见。 接下来,用户可能想移除libopenblas-base,这是一个优化过的BLAS,某些软件依赖它。需要确认用户是否有必要移除这个包,因为可能会影响其他应用程序的性能。此外,检查系统的软件源是否配置正确,是否有更新或缺失的仓,导致apt无法找到该包。 处理步骤方面,首先建议用户检查命令是否正确,确保没有混用apt和pip。然后,更新软件包列表,运行sudo apt update,接着再尝试移除操作。如果问题依旧,检查软件包是否存在拼写错误,或者尝试使用apt-cache search来查找正确的包名。如果用户确实需要安装Python的apt模块,应使用pip install python-apt,但需要区分系统包管理和Python包管理。 另外,需要提醒用户谨慎操作,因为卸载系统关键包可能导致不稳定。如果用户的问题仍未解决,建议提供更多上下文或错误日志,以便进一步诊断。总结来说,错误可能是命令混淆或软件包名称错误导致的,通过逐步排查可以解决。</think>遇到 `ERROR: Could not find a version that satisfies the requirement apt` 错误时,通常是因为混淆了 **系统级包管理工具 `apt`** 和 **Python 的包管理工具 `pip`**。以下是逐步分析和解决方法: --- ### 1. **错误原因分析** - **`apt` 与 `pip` 的区别**: - `apt` 是 Ubuntu/Debian 系统的包管理工具,用于安装/卸载系统级软件(如 `libopenblas-base`)。 - `pip` 是 Python 的包管理工具,用于安装 Python (如 `numpy`)。 - **错误本质**: - 系统误将 `apt` 识别为 Python 包(如 `pip install apt`),但实际你想使用的是系统命令 `sudo apt remove`。 - 可能原因:命令输入错误、环境变量异常或软件源配置问题。 --- ### 2. **解决方案** #### 步骤 1:检查命令语法 确保命令正确使用 `apt` 而非 `pip`: ```bash # 正确格式(系统级 apt 命令) sudo apt remove libopenblas-base ``` #### 步骤 2:更新软件源 若软件源未同步,可能导致找不到包: ```bash sudo apt update # 更新软件包列表 sudo apt remove libopenblas-base ``` #### 步骤 3:确认包名称正确 检查包是否存在或名称是否拼写错误: ```bash apt-cache search openblas # 搜索与 "openblas" 相关的包 ``` #### 步骤 4:修复可能的依赖问题 若之前操作中断导致依赖损坏: ```bash sudo apt --fix-broken install ``` #### 步骤 5:检查 Python 环境(可选) 如果误将 `apt` 当作 Python 包安装过: ```bash # 检查是否安装了 Python 的 apt 模块 pip list | grep apt # 若存在,卸载它 pip uninstall apt ``` --- ### 3. **关键注意事项** - **谨慎卸载系统**:`libopenblas-base` 是许多科学计算(如 NumPy)的基础依赖,卸载可能导致其他软件异常。 - **区分包管理工具**: - 系统级操作(如安装 `gcc`) → 使用 `apt` - Python 操作(如安装 `numpy`) → 使用 `pip` --- ### 4. 扩展解释 - **`libopenblas-base` 的作用**: - 提供高性能的线性代数计算(BLAS ),影响机器学习、数值计算等任务的性能。 - 卸载后,依赖它的程序可能变慢或崩溃。 - **替代方案**: - 若需要替换 OpenBLAS,可安装其他 BLAS 实现(如 Intel MKL): ```bash sudo apt install intel-mkl ``` --- 如果问题仍未解决,请提供完整的终端输出,以便进一步分析!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值