我正在尝试执行以下链接中提到的 GPUDirect RDMA。我使用的是配备 Quadro M4000 GPU 和 CUDA 12.0 工具套件的 X86 Linux PC。在构建驱动程序和执行 CUDA 编程时,我收到以下错误。
当运行命令./build-for-pc-native.sh
构建内核模块时,出现以下错误:
Building modules, stage 2.
** MODPOST 1 modules**
**FATAL: parse error in symbol dump file
scripts/Makefile.modpost:92: recipe for target ‘__modpost’ failed
make[2]: *** [__modpost] Error 1
Makefile:1678: recipe for target ‘modules’ failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory ‘/usr/src/linux-headers-5.4.0-136-generic’
Makefile:19: recipe for target ‘modules’ failed
make: *** [modules] Error 2**
为了避免上述错误,我运行了命令./build-for-any-no-cuda-native.sh
,然后构建并加载了模块。但是,当我client-applications/./build-for-pc-native.sh
为用户应用程序运行命令时,我再次遇到错误,
make: Nothing to be done for ‘default’
当我运行上述 github 链接中给出的数据访问测试时忽略此错误,运行命令时不会出现错误./rdma-malloc
。但是,当我运行此命令时./rdma-cuda
,出现以下错误,
ioctl(PIN_CUDA src) failed: ret=-1 errno=22.
当我再次执行此操作时set leds test
,我运行了命令./set-leds 7
,但出现错误
open() failed: Permission denied
但是当我在命令之前使用这个词时sudo
,我没有收到错误。
请问有人知道上述错误的原因以及发生的原因吗?回复此主题。