1. 概述
本文档主要用于指导用户在使用曦云® 系列GPU时,如何安装部署和应用mcDF。
1.1. mcDF介绍
mcDF是一个基于曦云系列GPU,运算、处理DataFrame数据对象的Python计算库。 mcDF提供包括加载、连接、聚合、筛选以及其他数据操作接口,提供的API接口类似pandas对应功能的API接口,熟悉pandas库的数据工程师可以轻松地将基于pandas的Python应用迁移到mcDF上。
mcDF-c是mcDF的C++版本,包含一系列动态链接库,覆盖mcDF大部分的功能和操作接口。
Dask-mcDF允许在分布式GPU环境中进行高性能的数据处理。
1.2. 软件包
1.2.1. 软件包信息
mcDF提供了 maca-mcdf-<VERSION>-linux-x86_64.tar.xz,可以使用命令 tar -xJf 进行解压,解压后可获得依赖的mcPy二进制软件包和mcDF二进制软件包。
mcPy二进制软件包的说明,参见《曦云® 系列通用GPU mcPy使用手册》。mcDF二进制软件包的信息说明,参见表 1.1。
软件包类型 |
文件名示例 |
说明 |
|---|---|---|
Python wheel包 |
mcdf-x.y.z.n-cp38-cp38-linux_86_64.whl |
适用于Python 3.8的mcDF Python二进制扩展包 |
Python wheel包 |
mcdf-x.y.z.n-cp310-cp310-linux_86_64.whl |
适用于Python 3.10的mcDF Python二进制扩展包 |
Python wheel包 |
mcpy-x.y.z.n-cp38-cp38-linux_86_64.whl |
适用于Python 3.8的mcPy Python二进制扩展包 |
Python wheel包 |
mcpy-x.y.z.n-cp310-cp310-linux_86_64.whl |
适用于Python 3.10的mcPy Python二进制扩展包 |
Python wheel包 |
numbax-x.y.z.n-cp38-cp38-linux_86_64.whl |
适用于Python 3.8的numbax Python二进制扩展包 |
Python wheel包 |
numbax-x.y.z.n-cp310-cp310-linux_86_64.whl |
适用于Python 3.10的numbax Python二进制扩展包 |
Python wheel包 |
rmmx-x.y.z.n-cp38-cp38-linux_86_64.whl |
适用于Python 3.8的rmmx Python二进制扩展包 |
Python wheel包 |
rmmx-x.y.z.n-cp310-cp310-linux_86_64.whl |
适用于Python 3.10的rmmx Python二进制扩展包 |
Python wheel包 |
dask_mcdf-x.y.z.n-py3-none-any.whl |
适用于Python 3.8或3.10的Dask-mcDF Python二进制扩展包 |
Python wheel包 |
dask_maca-x.y.z.n-py3-none-any.whl |
适用于Python 3.8或3.10的Dask-MACA Python二进制扩展包 |
deb二进制发布包 |
mcdf-x.y.z.n-linux.x86_64.deb |
适用于Ubuntu等使用deb包管理的系统 |
rpm二进制发布包 |
mcdf-x.y.z.n-linux.x86_64.rpm |
适用于CentOS等使用rpm包管理的系统 |
备注
x.y.z.n表示对应包的软件发布版本。
mcDF运行中依赖mcPy、numbax和rmmx。
当前支持x86_64平台的Python 3.8和3.10,请选取适配具体Python版本的软件包。
1.2.2. 软件包内容
mcDF C++二进制软件包将会在 /opt/mxmap 路径下安装相关的二进制开发库及头文件,以 /opt/mxmap 为起始路径,可以得到如下的文件内容:
.
├── include
│ ├── cudf
│ │ ├── aggregation.hpp
│ │ ├── ast
│ │ ├── ......
│ │ └── unary.hpp
│ ├── cudf_jni
│ │ ├── ColumnViewJni.hpp
│ │ └── ......
│ └── ......
└── lib
├── cmake
│ └── cudf
│ ├── cudf-config.cmake
│ ├── cudf-targets.cmake
│ └── ......
├── libcudf.a
├── libcudf.so
└── ......
include/cudf/ 目录包含了mcDF所有的头文件,include/cudf_jni 是mcDF的JNI头文件
lib/libcudf.a 文件是静态库,lib/libcudf.so 文件是动态链接库
lib/cmake/cudf 目录中的 cudf-config.cmake 和 cudf-targets.cmake 等是使用CMake配置mcDF的配置文件,在 CMakelists.txt 中可以直接使用
find_package引入mcDF动态库以及头文件