如何解决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,-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配置选项来解决了该问题,但尚未说明将其更改为什么。 ..(示例)
任何人对cudart或启动问题都有任何想法吗?
解决方法
正在找到
libcudart
。你什么
看到的只是一个信息
警告:-L选项是
按顺序搜索,链接器是
首先找到32位版本
因为你给
-L/usr/loca/cuda/lib64
之前的-L/usr/local/cuda/lib
。
对于libboost_python问题,
只需链接-lboost_python
。的
我使用的Ubuntu系统(64位
使用boost-python 1.40的10.04LTS)具有一系列级联的符号
链接到该规范
构成链接器的库名
找到没有任何错误的正确库
进一步干预。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。