Closed georgezhlw closed 11 years ago
Hello George ! To compile Alenka you need to download and install Thrust 1.7. You also need to download and build CUDPP - it is used for join operations (code.google.com/p/cudpp/)
Regards, Anton
Thanks Anton, that works. But I need remove cucpp.o from Makefile and add -lcudpp link flag.
Thanks, I updated the Makefile.
i also meet this error and i download the thrust 1.7 https://github.com/thrust/thrust and try to install it ,but still didn't work how to install thrust 1.7 correctly?
tried to extract the thrust zipfile to alenka directory but still error or put the thrust fold to repalce the thrust fold in the directory of C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include still error
Simply go to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include\ and rename thrust to thrust.old and unzip the new version of thrust there.
installed,but some error happen when loading
E:\Alenka-master>alenka.exe load_customer.sql Process count = 6200000 LOAD: C customer.tbl 3 | STORE: C customer LOADING customer.tbl |
and then occur a dialog box that: alenka has been stopped working
i tracked it and seems error happen in calling pfor_compress
line 468: thrust::device_ptr
Do you actually have customer.tbl file with data in alenka's directory ?
i do use dbgen to generate 1G file and put them in alenka's directory, since the output includes:"LOADING customer.tbl |" so i think it can be read ,and error happens when calling thrust::device_ptr s((int_type*)source); is my thrust didn't install correctly? i do installed it by the way you told me
Well, if you compiled Alenka successfully there shouldn't be a problem. Which version of CUDA do you have ? Which GPU do you use and how much memory it has ?
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2012 NVIDIA Corporation Built on Tue_Sep_25_09:18:50_PDT_2012 Cuda compilation tools, release 5.0, V0.2.1221
GPU: geforce 9600 gso memory is about 200M
Where are you guys get these cards, this thing must be 10 years old. Ok, so your card doesn't support -arch=sm_20. Your the only option is to compile it with -arch=sm_13. Oh, and the joins are not gonna work too because CUDPP requires Fermi architecture for atomic operations or something like that. Which means that you need GTX 400 or better.
i changed my device to gtx580 and it works.... execute q1 and the data is 1G here is output ,i think it works.....
E:\Alenka-master>alenka.exe q1.sql Process count = 6200000 BINARY LOAD: A lineitem FILTER B A 1218834432 MAP CHECK R filter is finished 5916591 1127477248 filter time 0.427 1205727232 SELECT D B cycle 0 select mem 1157623808 final select 4 select time 0.189 STORE: D mytest.txt | SQL scan parse worked cycle time 0.687
Looks fine, might wanna check the results in mytest.txt
how to debugging the project on windows if i want to view some variables' status?
printf or cout, it's your choice.
hi im having a hard time compiling alenka for latest ubuntu with no success so far, can you send a linux binary to my email? miltonyukio2@gmail.com thanks
when compiling cudpp_src_2.0 it generates libcudpp.so but the make file asks for a -libcudpp am i doing something wrong?
Im compiling cudpp_src_2.0 as a static library , should i compile as share ( dynamic ) ?
i think i made some progress , but now im getting the error: /usr/bin/ld: cannot find -libcudpp_hash64 it loads -lcuda but when i try to find it with find / =name 'lcuda*' it shows me nothing i have put libcudpp_hash64.a in all places but nothing works. maybe my computer hd or memory have some liking problems?
should complie cudpp in this way: http://henry2005.jimdo.com/2011/08/29/compile-cudpp-2-0/ and get two libraries created ,and put it the alenka directory the two libraries are cudpp64d.lib and cudpp_hash64d.lib
thanks your instructions are alright but they are for windows. .lib are libs for windows.
for linux they are .so or .a
anyway i`ll keep trying a little more.
It should be the same on Linux and Windows, as long as you have libraries libcudpp_hash64.a and libcudpp64.a it should link them. Make sure that you generate 64bit release version of CUDPP. What is the exact error that you are getting ?
when I send the command: objdump -f libcudpp.a | grep ^architecture it shows: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011: architecture: i386:x86-64, flags 0x00000011:
I have put libcudpp.a and libcudpp_hash.a in all possible directories name it:
/lib
/Alenka-master
/cudpp_src_2.0
/Alenka-master/lib
It seems I made a improvement again. Linux is so full of tiny rules that if you dont follow all of them the whole thing just doesnt work. In windows you can rename the lib files to the ones you have described in makefile in linux you have to make soft links to the libs using command ln. But now I get some new errors: In file included from /usr/local/cuda-5.0/bin/crt/link.stub:79:0: /tmp/tmpxft_000011c7_00000000-1_alenka_dlink.reg.c:2:1: error: redefinition of ‘const unsigned char def_module_id_str__NV_MODULE_ID []’
and a lot of similar errors more.
I haven't seen these errors before. Probably has something to do with the libraries.I compiled CUDPP on Linux using CMake, seems like it worked well. I'm not sure what else to advise you, just try to compile the libraries so you get 2 files : libcudpp64.a and libcudpp_hash64.a
On Sat, Apr 27, 2013 at 3:17 PM, miltonyukio notifications@github.comwrote:
It seems I made a improvement again. Linux is so full of tiny rules that if you dont follow all of them the whole thing just doesnt work. In windows you can rename the lib files to the ones you have described in makefile in linux you have to make soft links to the libs using command ln. But now I get some new errors: In file included from /usr/local/cuda-5.0/bin/crt/link.stub:79:0: /tmp/tmpxft_000011c7_00000000-1_alenka_dlink.reg.c:2:1: error: redefinition of ‘const unsigned char def_module_id_str__NV_MODULE_ID []’
and a lot of similar errors more.
— Reply to this email directly or view it on GitHubhttps://github.com/antonmks/Alenka/issues/6#issuecomment-17115205 .
what linux distribution did you use when compiling ?
get the following error when compile on Mac OS X:
Alenka]$ make /usr/local/cuda/bin/nvcc -O3 -arch=sm_20 -m64 -I/usr/local/boost_1_53_0 -c bison.cu fl.l(34): warning: statement is unreachable
fl.l(35): warning: statement is unreachable .. lex.yy.c(804): warning: label "find_rule" was declared but never referenced
lex.yy.c(1558): warning: statement is unreachable
bison.y(824): error: no instance of function template "thrust::stable_partition" matches the argument list argument types are: (thrust::detail::normal_iterator<thrust::device_ptr>, thrust::detail::normal_iterator<thrust::device_ptr>, thrust::device_ptr<__nv_bool>, thrust::identity)
bison.y(825): error: no instance of function template "thrust::stable_partition" matches the argument list argument types are: (thrust::detail::normal_iterator<thrust::device_ptr>, thrust::detail::normal_iterator<thrust::device_ptr>, thrust::device_ptr<__nv_bool>, thrust::identity)
2 errors detected in the compilation of "/tmp/tmpxft_000004f6_00000000-6_bison.cpp1.ii". make: *\ [bison.o] Error 2
I am using CUDA5.0 bundled thrust library: $ grep 100503 /usr/local/cuda/include/thrust/version.h
define THRUST_VERSION 100503
regards, George