Я использовал gpgpu-sim, симулятор GPU, для проведения исследований.В моей папке несколько файлов .so
:
В папке cudart lib от Nvidia есть несколько вариантов .so
:
И некоторые .o
файлы и должны быть связаны с libcudart.so, когда я набираю команду:
g++ -L "Path/to/MyFolder" -l cudart *.o
Я надеюсь, что сгенерированный a.out будет ссылаться на libcudart.so, но он просто связан со страннымfile:
libcudart_gpgpu-sim_git-commit-6443f21d433f1b642003867e56fe1f54efae55e3_modified_0.so => not found
И когда я набрал этот код:
g++ -L "Path/to/NvidiaFolder" -l cudart *.o
Программа может найти libcudart.so.9 в моей папке LD_LIBRARY_PATH, но она показывает, что версия может 't match!:
./a.out: /path/to/myFolder/libcudart.so.9.0: version `libcudart.so.9.0'not found (required by ./a.out)
Кто-нибудь может сказать мне, как работает ld
и как решить эти проблемы?