Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile fail with Thrust 1.5 #6

Closed
georgezhlw opened this issue Mar 22, 2013 · 26 comments
Closed

Compile fail with Thrust 1.5 #6

georgezhlw opened this issue Mar 22, 2013 · 26 comments

Comments

@georgezhlw
Copy link

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

@antonmks
Copy link
Owner

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

@georgezhlw
Copy link
Author

Thanks Anton, that works. But I need remove cucpp.o from Makefile and add -lcudpp link flag.

@antonmks
Copy link
Owner

Thanks, I updated the Makefile.

@sam1988
Copy link

sam1988 commented Apr 1, 2013

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

@antonmks
Copy link
Owner

antonmks commented Apr 1, 2013

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.

@sam1988
Copy link

sam1988 commented Apr 1, 2013

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<int_type> s((int_type*)source);

@antonmks
Copy link
Owner

antonmks commented Apr 1, 2013

Do you actually have customer.tbl file with data in alenka's directory ?

@sam1988
Copy link

sam1988 commented Apr 1, 2013

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

@antonmks
Copy link
Owner

antonmks commented Apr 1, 2013

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 ?

@sam1988
Copy link

sam1988 commented Apr 1, 2013

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

@antonmks
Copy link
Owner

antonmks commented Apr 1, 2013

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.

@sam1988
Copy link

sam1988 commented Apr 1, 2013

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

@antonmks
Copy link
Owner

antonmks commented Apr 1, 2013

Looks fine, might wanna check the results in mytest.txt

@sam1988
Copy link

sam1988 commented Apr 2, 2013

how to debugging the project on windows if i want to view some variables' status?

@antonmks
Copy link
Owner

antonmks commented Apr 2, 2013

printf or cout, it's your choice.

@miltonyukio
Copy link

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

@miltonyukio
Copy link

when compiling cudpp_src_2.0 it generates libcudpp.so but the make file asks for a -libcudpp
am i doing something wrong?

@miltonyukio
Copy link

Im compiling cudpp_src_2.0 as a static library , should i compile as share ( dynamic ) ?

@miltonyukio
Copy link

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?

@sam1988
Copy link

sam1988 commented Apr 27, 2013

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

@miltonyukio
Copy link

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.

@antonmks
Copy link
Owner

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 ?

@miltonyukio
Copy link

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

@miltonyukio
Copy link

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.

@antonmks
Copy link
Owner

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//issues/6#issuecomment-17115205
.

@miltonyukio
Copy link

what linux distribution did you use when compiling ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants