快速安装指南#

cuBLASDx 作为 MathDx 包的一部分分发。要下载包含 cuBLASDx 的 MathDx 包的最新版本,请访问 https://developer.nvidia.com/cublasdx-downloads 网站。

注意

MathDx 包包含

  • cuBLASDx,用于选定的线性代数函数,如通用矩阵乘法 (GEMM),

  • cuFFTDx,用于 FFT 计算,

  • cuSolverDx,用于选定的稠密矩阵分解和求解例程,

  • cuRANDDx,用于随机数生成。

MathDx 库旨在在单个项目中协同工作。

请注意,对于使用多个设备扩展库的项目,所有库必须来自相同的 MathDx 版本。包中包含了此类融合的示例。

在您的项目中使用 cuBLASDx#

cuBLASDx 是一个仅包含头文件的库。要使用它,用户只需将包含 cublasdx.hpp 及其依赖项 commonDx 和 CUTLASS 的目录(这些目录随 MathDx 包一起提供)包含到他们的编译命令中。所有确切的要求都列在要求部分。

最简单的方法是使用 MathDx 和 CUTLASS 包含目录

nvcc -std=c++17 -arch sm_XY (...) -I<mathdx_include_dir> -I<cutlass_include_dir> <your_source_file>.cu -o <your_binary>

当您将 MathDx YY.MM 包 tarball 解压到 <your_directory> 时,cublasdx.hpp 文件将在以下位置可用

  • <your_directory>/nvidia/mathdx/yy.mm/include/

  • <your_directory>/nvidia/mathdx/yy.mm/include/cublasdx/include/

commonDx 头文件将在以下位置可用

  • <your_directory>/nvidia/mathdx/yy.mm/include/

CUTLASS 头文件将在以下位置可用

  • <your_directory>/nvidia/mathdx/yy.mm/external/cutlass/include/

在您的 CMake 项目中使用 cuBLASDx#

MathDx 包提供了配置文件,简化了在其他 CMake 项目中使用 cuBLASDx 的过程。在使用 find_package 找到 mathdx 后,用户必须将 mathdx::cublasdx 链接到他们的目标。这将传递包含目录 cublasdx_INCLUDE_DIRS、两个依赖项 - commonDx 和 CUTLASSS 以及 C++17 要求到他们的目标。

find_package(mathdx REQUIRED COMPONENTS cublasdx CONFIG)
target_link_libraries(YourProgram mathdx::cublasdx)

您可以使用 PATHS 选项传递 MathDx 包的路径

find_package(mathdx REQUIRED COMPONENTS cublasdx CONFIG PATHS "<your_directory>/nvidia/mathdx/yy.mm/")

或者,您可以在项目的 cmake 配置期间设置 mathdx_ROOT

cmake -Dmathdx_ROOT="<your_directory>/nvidia/mathdx/yy.mm/" (...)

使用自定义 CUTLASS#

只要版本满足要求部分列出的要求,就可以使用 MathDx 包附带的 CUTLASS 以外的其他 CUTLASS。这可以通过两种方式完成

  1. 定义指向已安装 CUTLASS 目录的 NvidiaCutlass_ROOT cmake 变量或环境变量。这将允许 MathDx 找到 NvidiaCutlass 包。

  2. 定义指向 CUTLASS 头文件目录的 mathdx_CUTLASS_ROOT cmake 变量或环境变量。

定义的变量#

mathdx_cublasdx_FOUND, cublasdx_FOUND

如果找到 cuBLASDx,则为 True。

cublasdx_INCLUDE_DIRS

cuBLASDx 包含目录。

mathdx_cutlass_INCLUDE_DIR, cublasdx_cutlass_INCLUDE_DIR

CUTLASS 包含目录。

mathdx_INCLUDE_DIRS

MathDx 包含目录。

mathdx_VERSION

MathDx 包版本号,格式为 X.Y.Z

cublasdx_VERSION

cuBLASDx 版本号,格式为 X.Y.Z

MathDx/cuBLASDx 版本矩阵

MathDx

cuBLASDx

23.07

0.1.0

24.08

0.2.0

25.01

0.3.0