基于Cmake自定义编译¶
编译环境准备¶
软件名称 |
版本 |
作用 |
|---|---|---|
openEuler |
22.03/24.03 |
运行/编译openYuanrong datasystem的操作系统 |
3.9-3.13 |
openYuanrong datasystem的运行/编译依赖Python环境 |
|
8.5 |
(非必须)运行/编译异构相关特性的依赖库 |
|
35.1 |
(非必须)运行/编译RDMA特性的依赖库 |
|
0.35.1+ |
openYuanrong datasystem使用的Python打包工具 |
|
44.0+ |
openYuanrong datasystem使用的Python包管理工具 |
|
7.5.0+ |
用于编译openYuanrong datasystem的C编译器 |
|
7.5.0+ |
用于编译openYuanrong datasystem的C++编译器 |
|
- |
编译构建openYuanrong datasystem的工具 |
|
- |
openYuanrong datasystem使用的源代码管理工具 |
|
- |
openYuanrong datasystem使用的编译构建工具 |
|
3.18.3+ |
编译构建openYuanrong datasystem的工具 |
|
2.5+ |
openYuanrong datasystem使用的源代码补丁工具 |
方式1:使用openYuanrong提供的编译镜像¶
如果需要快速安装,可以使用构建好的编译镜像,镜像地址:swr.cn-southwest-2.myhuaweicloud.com/openyuanrong/datasystem-compile:
镜像版本 |
支持架构 |
|---|---|
v0.6.3-openeuler-22.03 |
X86_64、ARM64 |
docker pull swr.cn-southwest-2.myhuaweicloud.com/openyuanrong/datasystem-compile:v0.6.3-openeuler-22.03
编译镜像说明
方式2:自定义准备环境¶
安装 Python¶
Python安装步骤(点我展开)
Python可通过Conda进行安装。
安装Miniconda:
cd /tmp
curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py311_23.10.0-1-Linux-$(arch).sh
bash Miniconda3-py311_23.10.0-1-Linux-$(arch).sh -b
cd -
. ~/miniconda3/etc/profile.d/conda.sh
conda init bash
执行完上述命令后,重启shell,conda会在shell初始化完成后准备就绪。
安装完成后,可以为Conda设置清华源加速下载,参考此处。
创建虚拟环境,以Python 3.11.4为例:
conda create -n py311 python=3.11.4 -y
conda activate py311
可以通过以下命令查看Python版本。
python --version
安装wheel和setuptools¶
在安装完成Python后,使用以下命令安装。
pip install wheel
pip install -U setuptools
安装编译依赖库¶
使用以下命令安装。
sudo yum install gcc gcc-c++ git patch make libtool cmake -y
安装 CANN(非必须)¶
如无需运行/编译异构对象特性,可跳过 CANN 安装步骤
CANN安装步骤(点我展开)
CANN的安装依赖Python环境,请确保您在开始安装CANN之前环境中的Python已经就绪。
在Ascend官网下载CANN run包,安装 run 包:
chmod +x ./Ascend-cann-toolkit_<version>_linux-<arch>.run
./Ascend-cann-toolkit_<version>_linux-<arch>.run --install --quiet
安装完成后,若显示如下信息,则说明软件安装成功:
Toolkit: Ascend-cann-toolkit_<version>_linux-<arch> install success
如果用户未指定安装路径,则软件会安装到默认路径下,默认安装路径如下:
用户身份 |
默认路径 |
|---|---|
root |
|
非 root |
|
加载环境变量(非 root 示例):
source ${HOME}/Ascend/ascend-toolkit/set_env.sh
安装 rdma-core(非必须)¶
如无需运行/编译RDMA特性,可跳过 rdma-core 安装步骤
rdma-core安装步骤(点我展开)
rdma-core可通过yum进行安装。
安装rdma-core:
sudo yum install rdma-core-devel
安装完成后,可通过以下命令查看软件是否安装成功:
ls -l /usr/lib64/libibverbs.so
ls -l /usr/lib64/librdmacm.so
若输出类似以下内容则说明安装成功:
lrwxrwxrwx. 1 root root 15 Mar 23 2022 /usr/lib64/libibverbs.so -> libibverbs.so.1
lrwxrwxrwx. 1 root root 14 Mar 23 2022 /usr/lib64/librdmacm.so -> librdmacm.so.1
源码编译安装¶
下载源码¶
git clone https://gitcode.com/openeuler/yuanrong-datasystem.git
编译¶
如果构建环境中没有CANN或者无需使用异构对象的功能,可以通过 -X 参数禁用异构对象的编译:
cd yuanrong-datasystem
bash build.sh -X off
如需编译异构对象带昇腾的特性,需要在开始编译前需要初始化Ascend相关的环境变量,非 root 用户执行:
source ${HOME}/Ascend/ascend-toolkit/set_env.sh
root 用户执行:
source /usr/local/Ascend/ascend-toolkit/set_env.sh
执行编译脚本:
cd yuanrong-datasystem
bash build.sh -X on
其中:
build.sh中默认的编译线程数为8,如果编译机性能较差可能会出现编译错误,可在执行中增加-j{线程数}来减少线程数量。如bash build.sh -j4。关于
build.sh更多用法请执行bash build.sh -h获取帮助或者参看脚本头部的说明。
编译成功后,会在output产生如下编译产物:
output/
|-- openyuanrong_datasystem-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl
|-- yr-datasystem-v0.5.0.tar.gz
安装¶
pip install output/openyuanrong_datasystem-*.whl