2011-04-14 31 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)有一系列級聯符號 鏈接到規範 庫名,使鏈接 發現沒有任何 進一步干預的正確庫。
相關問題