openblas ubuntu?下载Ubuntu
大家好,今天小编来为大家解答openblas ubuntu这个问题,下载Ubuntu很多人还不知道,现在让我们一起来看看吧!
caffe 使用gpu,有必要安装openblas么,有用intel MKL的么
安装caffe所安装mkl现想codeblock项目使用mkl
设置mkl环境变量:
mkl安装默认/opt/intel/mkl其/opt/intel/mkl/bin脚本设置环境变量根据mkluser guid:我电脑安装64位ubuntu 14.04所我使用
/opt/intel/mkl/bin/mklvars.sh inter64
报错说 typeset: not found,根据网搜索知应该用bash运行改用
/bin/bash/opt/intel/mkl/bin/mklvars.sh intel64
功机候些环境变量用面句代码加入~/profile面
测试环境变量否设:
icc--version
显示除intel编译器版本则功
code block控制台项目:
创建项目选控制台项目
编译器选择intel c/c++ compiler:
菜单栏 Project->build options选择
deep_nin项(左边面项目名称其面别Debug,Relase)右边选项选择Search
directories, Compiler项目添加/opt/intel/bin
编译运行默认hello, world!
添加 mkl编译项:
Project-> build options->Compiler settings->Other options添加-mkl编译项(图点问题左侧编译选项应该选 deep_ninDebug)
功调用 mkl库:
代码加入#include编译通功mkl引入项目
mkldnn/onednn/openblas
需要将 MKL_LIB_PATH="intel_2020.3.279/lib/intel64:intel_2020.3.279/mkl/lib/intel64"加入到LD_LIBRARY_PATH中。
example目录 intel_2020.3.279/mkl/examples/cblas/source/cblas_sgemmx.c这是mkl自带的example,还有cblas_gemm_s8u8s32x.c代表signed int8,unsigned int8,signed int32,对应传入的A、B、C矩阵数据类型,表示INT8量化加速接口。
编译命令:
make libintel64 function=cblas_gemm_s8u8s32 compiler=gnu
make libintel64 function=cblas_sgemm compiler=gnu
可以指定编译器为gnu还是intel的,也可以指定是并行多线程parallel还是单线程
先从git clone,然后需要指定make install的安装目录:
编译程序时使用命令 g++-g-o sgemm-std=c++11-I${DNNLROOT}/include-L${DNNLROOT}/lib64 cpu_sgemm_and_matmul.cpp-ldnnl
其中$DNNLROOT是make install的目录,否则会报 dnnl_config.h.in以及 libdnnl.so找不到的错误。
其中 oneDNN/examples/tutorials/matmul/cpu_sgemm_and_matmul.cpp是测试矩阵乘接口的文件,但是要放到examples目录下,因为需要引入example_utils.hpp头文件。
在onednn中,gemm有三种实现方案,gemm,static gemm和dynamic gemm。这些在mkl是没有的。
旧版mkl-dnn的gemm使用的是mkl的gemm,mkl对于小矩阵的计算,速度并不快。旧版mkl-dnn主要是做cnn和lstm的优化
onednn中,有两个选择,1继续使用mkl的gemm,2使用新的gemm。
默认安装到/opt/OpenBLAS/lib,否则需要将其加到LD_LIBRARY_PATH。
编译命令: g++-g-o sgemm compare_sgemm_shgemm.c-I/opt/OpenBLAS/include-L/opt/OpenBLAS/lib/-lopenblas
centos7.6 cat/proc/cpuinfo| grep name| cut-f2-d:| uniq-c
ubuntu18.04 grep"model name"/proc/cpuinfo|awk-F':''{print$NF}'
IDC服务器:Intel(R) Xeon(R) CPU E5-2680 v4@ 2.40GHz
MIT服务器:Intel(R) Core(TM) i7-7800X CPU@ 3.50GHz
从零开始构建向量数据库:Milvus 的源码编译安装(一)
在知乎上新开了关于“向量数据库”内容的专栏[1],本文将详细介绍如何在x86和ARM架构的Linux系统上编译安装开源项目Milvus,这个项目由Linux Foundation AI& Data基金会支持,常与Weaviate和Elasticsearch相提并论[2][3]。
由于Milvus主要在GitHub进行开发,中文网络中关于编译安装的教程很少,且大多是过时的1.x版本资料,而Milvus的版本迭代迅速,目前主要提供Docker容器安装,本地开发者或追求透明度的开发者可能会觉得不够友好。本文将从头开始,逐步引导你进行编译安装。
前置准备
在开始前,需要确保操作系统、开发环境和必要的依赖已经准备妥当。Linux作为主力生产环境,本文将重点介绍在Ubuntu上编译。macOS和Windows上的步骤类似,但这里主要针对Linux。
操作系统
推荐使用Ubuntu,无论是服务器、容器基础镜像,还是个人笔记本。具体配置和安装细节可以参考我在其他文章中介绍的《笔记本上搭建Linux学习环境》[6]。
开发环境
Milvus主要使用Golang编写,同时包含C++代码。确保Golang和C++环境可用,参考《搭建Golang开发环境》[8],并注意Milvus官方推荐的版本。
源码获取
获取Milvus源码有两种方式:Git Clone或下载压缩包,其中Git Clone可能需要借助国内镜像加速。具体步骤包括设置代码仓库的上游,确保代码同步。
编译基础依赖
项目依赖OpenBLAS加速向量计算,详细安装步骤在《走进向量计算:OpenBLAS编译》[13]中有详述。
准备构建依赖:cmake
确保cmake版本至少为3.18,Ubuntu 20.04需手动安装,而Ubuntu 22.04可直接使用apt。不同版本可能有差异,注意官方文档推荐的版本。
额外依赖:clang-format和clang-tidy
项目代码中需要clang-format和clang-tidy,Ubuntu 20.04和22.04的安装方式各有不同,务必安装正确版本以保持和官方构建一致。
编译 Milvus
切换到 Milvus代码目录,执行make命令编译。整个过程可能耗时,但完成后将在./bin/目录下找到可执行文件。
总结
本文详细介绍了在Ubuntu 20.04和22.04环境中编译安装Milvus的步骤,包括操作系统、开发环境和依赖的安装。后续文章将深入探讨容器镜像构建优化以及在MacOS上的安装指南。
期待你的反馈,如果觉得有用,请点赞和分享。如有任何问题或需要更新,请关注后续内容更新,感谢支持!