PyCUDA/Copperhead似乎无法识别64位机器

2024-10-03 23:19:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在和铜斑蛇有两个问题,我怀疑这两个问题是相关的。在

运行示例文件(示例/轴对称.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++is已经正确地选择了正确的CUDA lib dir来使用(lib64),但是没有看到利库达特在那里,就是这样。在

^{pr2}$

接下来,boost_python没有找到;我从一些地方听说这是由于ubuntu在某个地方破坏了一个包约定,人们说他们已经通过更改pycuda配置选项来修复它,但是还没有说要将其更改为什么。。。(Example

有人对cudart或boot问题有什么想法吗?在


Tags: 示例cachecompilerincludelibusrlocaltmp
1条回答
网友
1楼 · 发布于 2024-10-03 23:19:58
  1. 它是在寻找libcudart。什么你 只是一种信息 警告:-L选项是 按顺序搜索链接器 先找到32位版本, 因为你付出了 -L/usr/local/cuda/lib-L/usr/loca/cuda/lib64之前。在
  2. 对于libboost_python问题, 只需连接-lboost_python。这个 我使用的Ubuntu系统(64位 10.04LTS和boostpython1.40)有一系列级联符号 链接到那个经典的 生成链接器的库名称 找到正确的库 进一步干预。在

相关问题 更多 >