无法为CUDA NVlabs SASSI工具构建示例

时间:2016-12-21 01:05:03

标签: makefile cuda nvidia-sass

我正在尝试构建并运行NVlabs项目SASSI中的示例代码,该代码可用于检测CUDA代码。但是,我正在努力获得包含的示例MakefilematrixMul.cu来构建和正常运行。

我尝试添加--maxrregcount=16-rcd=true nvcc标志,但我认为我的真正问题是正确连接到SASSI库。下面的nvcc输出中列出的所有库路径都会解析为包含.so个文件的实际目录。

非常感谢任何提示或调试步骤。

$ make clean 
  

rm -f -f matrixMul * .o

$ make branch
  

/ usr / local / sassi7 // bin / nvcc -I./inc -c -gencode   arch = compute_35,code = sm_35 -gencode arch = compute_50,code = sm_50   -Xlinker“--wrap = main”-Xlinker“--wrap = exit”-lineinfo -Xptxas --sassi-inst-before =“cond-branches”-Xptxas --sassi-before-args =“cond-branch- info“-g -O3 -dc -o matrixMul.o matrixMul.cu

           

*   * SASSI仪表详细信息   *   *对于您传入的设置,您需要确保拥有   *具有以下属性的检测库:   * - 必须只使用16个寄存器编译!!要做到这一点   *只需使用nvcc标志编译库, - maxrregcount = 16   * - 必须定义以下功能:   * 设备 void sassi_before_handler(SASSIBeforeParams *,SASSICondBranchParams *)   *

                 

*   * SASSI仪表详细信息   *   *对于您传入的设置,您需要确保拥有   *具有以下属性的检测库:   * - 必须只使用16个寄存器编译!!要做到这一点   *只需使用nvcc标志编译库, - maxrregcount = 16   * - 必须定义以下功能:   * 设备 void sassi_before_handler(SASSIBeforeParams *,SASSICondBranchParams *)   *   ************************************************** **************************** / usr / local / sassi7 // bin / nvcc -o matrixMul matrixMul.o -gencode   arch = compute_35,code = sm_35 -gencode arch = compute_50,code = sm_50   -Xlinker“--wrap = main”-Xlinker“--wrap = exit”-L ../ instlibs / lib -lbranch -L / usr / local / sassi7 // extras / CUPTI / lib64 -lcupti -lcudadevrt -Xlinker - rpath,/ usr / local / sassi7 // extras / CUPTI / lib64 -L / lib -lboost_regex -lcrypto -Xlinker -rpath,/ lib nvlink error:未定义的引用   '_Z20sassi_before_handlerP17SASSIBeforeParamsP21SASSICondBranchParams'   在'matrixMul.o'中:* [matrixMul]错误255 **

1 个答案:

答案 0 :(得分:1)

解决方案是安装Boost,在instlibs/env.mk中设置相应的路径并在尝试构建示例代码之前从make all运行instlibs/。路径设置正确,但并未生成所有必需的SASSI库。