From: M C <m_...@ho...> - 2010-12-03 11:41:40
|
Hi, I'm trying to use MummerGPU 2.0 on an Amazon EC2 GPU cluster instance (containing two Tesla M2050 "Fermi" cards), with CUDA 3.2, but the building process fails (whereas it worked fine on an older Tesla C1030 card with CUDA 2.3). The initial error I get is: ### g++ -W -Wall -Wimplicit -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wmultichar -Wtrigraphs -Wpointer-arith -Wcast-align -Wreturn-type -Wno-unused-function -I. -I/usr/local/cuda/include -DUNIX -O1 -o ../obj/release/PoolMalloc.cpp_o -c PoolMalloc.cpp /usr/local/cuda/bin/nvcc -o ../obj/release/mummergpu.cu_o -c mummergpu.cu -Xcompiler "" -I. -I/usr/local/cuda/include -DUNIX -O1 mummergpu.cu(468): error: argument of type "unsigned int *" is incompatible with parameter of type "size_t *" mummergpu.cu(468): error: argument of type "unsigned int *" is incompatible with parameter of type "size_t *" 2 errors detected in the compilation of "/tmp/tmpxft_00003713_00000000-4_mummergpu.cpp1.ii". make: *** [../obj/release/mummergpu.cu_o] Error 2 ### If I try to get past the error by changing line 468 from: CU_SAFE_CALL_NO_SYNC(cuMemGetInfo(free_mem, total_mem)); to make the explicit cast: CU_SAFE_CALL_NO_SYNC(cuMemGetInfo((size_t *)free_mem, (size_t *)total_mem)); then I can past this compilation stage but now the linking fails with the error: ### g++ -W -Wall -Wimplicit -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wmultichar -Wtrigraphs -Wpointer-arith -Wcast-align -Wreturn-type -Wno-unused-function -I. -I/usr/local/cuda/include -DUNIX -O1 -o ../obj/release/mummergpu_main.cpp_o -c mummergpu_main.cpp g++ -o ../bin/release/mummergpu ../obj/release/mummergpu_main.cpp_o -lmummergpu -L/usr/lib64 -L/usr/local/cuda/lib64 -L../lib -lcudart -lcuda ../lib/libmummergpu.a(mummergpu_gold.cpp_o): In function `getRef(int, char*)': mummergpu_gold.cpp:(.text+0x0): multiple definition of `getRef(int, char*)' ../lib/libmummergpu.a(mummergpu.cu_o):tmpxft_00003748_00000000-1_mummergpu.cudafe1.cpp:(.text+0x12fe): first defined here ### Can anyone suggest a fix please? I tried by commenting the function getRef from the file mummergpu_gold.cpp and declaring it as extern (since it seems to already be in libmummergpu.a), which allowed the compilation to complete and give an executable, but this then produces a segmentation fault when run with the package's test data. Help please! m |