2011-04-14 61 views
0

我在一分钟内遇到了两个与铜头有关的问题,我怀疑它们是相关的。PyCUDA/Copperhead似乎无法识别64位机器

运行一个示例文件(samples/axpy.py)生成了很多小警告,但是这个很突出。

g++ -pthread -fno-strict-aliasing -g -O2 -g -fwrapv -O2 -Wall -fPIC -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -DNDEBUG -I/usr/include/python2.6 -I/usr/local/lib/python2.6/dist-packages/copperhead-0.1a1-py2.6.egg/copperhead/include -I/usr/local/cuda/include /tmp/codepy-compiler-cache-v5-uid1000/202478034fea29b82d046b259bd6f43e/module.o /tmp/codepy-compiler-cache-v5-uid1000/fdcb04ede426b146cfce8894e99eeb57/gpu.o -L/usr/lib -L/usr/local/cuda/lib -L/usr/local/cuda/lib64 -lcuda -lcudart -lboost_python-gcc43-mt -lpthread -ldl -lutil -o /tmp/codepy-compiler-cache-v5-uid1000/202478034fea29b82d046b259bd6f43e/codepy.temp.202478034fea29b82d046b259bd6f43e.module.so 
/usr/bin/ld: skipping incompatible /usr/local/cuda/lib/libcudart.so when searching for -lcudart 
/usr/bin/ld: cannot find -lboost_python-gcc43-mt 
collect2: ld returned 1 exit status 

很少有事情要注意;

g ++已经正确地拿起正确的CUDA lib目录来使用(lib64),但没有看到libcudart.so在那里,它是。

/usr/local/cuda/lib64/libcudart.so.4.0.12: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped 

接下来,找不到boost_python;我从几个地方听说,这是由于Ubuntu在某个地方打破了一个软件包协议,而且人们已经说他们已经通过更改pycuda配置选项来修复它,但是没有说要将它改变为...( Example

任何人都有任何想法或cudart或启动问题?

回答

3
  1. 发现libcudart。你 现在看到的只是一个信息 警告:-L选项 按顺序搜索和链接是 首先找到的32位版本, 因为你-L/usr/loca/cuda/lib64之前给 -L/usr/local/cuda/lib
  2. 对于libboost_python问题, 只与-lboost_python链接。该 Ubuntu的系统我用(64位 10.04LTS与升压蟒蛇1.40)有一系列级联符号 链接到规范 库名,使链接 发现没有任何 进一步干预的正确库。
相关问题