我正在尝试使用GPUocelot在X86 cpu上生成GPGPU基准测试的痕迹。出于这个原因,我正在使用-locelot和-locelotTrace链接器标志编译基准。我的基准测试编译并执行正常。但是,没有生成跟踪。
编译命令:
nvcc -arch=sm_20 bfs.cu -o bfs -locelot -locelotTrace
libocelot.so
和libocelotTrace.so
位于/usr/local/lib
和LD_LIBRARY_PATH=/usr/local/lib
。
我使用ldd
验证了链接到此二进制文件的共享库。我可以看到libocelot.so
已关联,但我看不到libocelottrace.so
。
我认为这是导致跟踪无法生成的问题。如何确保二进制文件链接到libocelottrace.so
?
答案 0 :(得分:1)
我可以看到
libocelot.so
已关联,但我看不到libocelottrace.so
这可能是因为
--as-needed
链接器标志(如果您使用nvcc
标志调用-v
,您应该会看到)和nvcc -arch=sm_20 bfs.cu -o bfs -locelotTrace -locelot
(命令行上的库的顺序很重要)。