文章目录

  • 环境搭建
  • 环境需求
  • CMake安装
  • Clang 安装
  • Boost 安装
  • Catch2 添加
  • 构建
  • 安装 SYCL (废弃,用下个方法)
  • 使用 CUDA + NVCC 构建 ndzip
  • 测试

上面的原理看的有点头秃,还是来讲讲如何快速上手ndzip吧!

点击进入  ndzip

环境搭建

环境需求

运行 ndzip 需要以下环境,Catch2 可根据自己是否需要来选择是否安装。

  • CMake >= 3.15
  • Clang >= 10.0.0
  • Linux (我这里用的Ubuntu20)
  • Boost >= 1.66
  • Catch2 >= 2.13.3 (可选,用于单元测试和微基准测试)

CMake安装

CMake 在Ubuntu软件源中,安装非常简单,执行以下命令即可:

登录后复制
sudo apt install cmake1.

版本检查(CMake >= 3.1.5):

登录后复制
cmake --version1.

看到 CMake 版本大于3.1.5即可。

ndzip使用cuda+nvcc进行环境搭建_ubuntu

Clang 安装

Clang 也存在 Ubuntu软件源中,步骤和CMake差不多,命令如下:

登录后复制
sudo apt install clang1.

版本检查(Clang >= 10.0.0):

登录后复制
clang --version1.

可以看到 Clang 版本为 10.0.0,符合要求

ndzip使用cuda+nvcc进行环境搭建_CUDA_02

Boost 安装

Boostr 也存在 Ubuntu软件源中,命令如下:

登录后复制
sudo apt-get install libboost-all-dev1.

版本检查(Boost >= 1.66):

登录后复制
dpkg -S /usr/include/boost/version.hpp1.

ndzip使用cuda+nvcc进行环境搭建_ubuntu_03

Catch2 添加

Catch2需要去github上下载编译,命令如下:

登录后复制
git clone https:///catchorg/Catch2.git
cd Catch2
cmake -Bbuild -H. -DBUILD_TESTING=OFF
sudo cmake --build build/ --target install1.2.3.4.

等待编译添加完即可。

ndzip使用cuda+nvcc进行环境搭建_CMake_04

构建

安装 SYCL (废弃,用下个方法)

需要使用 cuda 的使用以下命令安装。

登录后复制
git clone https:///illuhad/hipSYCL
cd hipSYCL
cmake -B build -DCMAKE_INSTALL_PREFIX=../hipSYCL-install -DWITH_CUDA_BACKEND=YES -DCMAKE_BUILD_TYPE=Release
cmake --build build --target install -j1.2.3.4.

由于我使用的 WSL ,cuda 一直没配置好,就不用GPU了,所以把 DWITH_CUDA_BACKEND设为NO。命令如下:

登录后复制
git clone https:///illuhad/hipSYCL
cd hipSYCL
cmake -B build -DCMAKE_INSTALL_PREFIX=../hipSYCL-install  -DCMAKE_BUILD_TYPE=Release
cmake --build build --target install -j1.2.3.4.

中途报了一个错,使用以下命令修复 clang 库:

登录后复制
sudo apt-get install libclang-10-dev1.

ndzip使用cuda+nvcc进行环境搭建_CMake_05

构建SYCL成功:

ndzip使用cuda+nvcc进行环境搭建_ubuntu_06

使用 CUDA + NVCC 构建 ndzip

使用 cuda,安装 CUDA Toolkit

登录后复制
sudo apt-key del 7fa2af80 # 删除旧的GPG密钥,之前装过的要删掉

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
sudo apt-get update
sudo apt-get -y install cuda1.2.3.4.5.6.7.8.

使用 CUDA + NVCC 构建 ndzip(自己使用SYCL构建ndzip没跑出来。。。)

登录后复制
cmake -B build -DCMAKE_CUDA_ARCHITECTURES=75 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=native"
cmake --build build -j1.2.

完成构建

ndzip使用cuda+nvcc进行环境搭建_ubuntu_07

测试

测试可用

ndzip使用cuda+nvcc进行环境搭建_CMake_08


随便压缩个什么,压缩成功。

ndzip使用cuda+nvcc进行环境搭建_CUDA_09