아래 링크에 언급된 대로 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
오류가 발생하지 않습니다.
위 오류의 원인과 발생 원인을 아시는 분 계신가요? 이 주제에 응답하십시오.