Giter VIP home page Giter VIP logo

Comments (8)

georgezhlw avatar georgezhlw commented on July 28, 2024

BTW, i got some warning when compile, not sure if it's related to the crash:

Alenka]$ make
/usr/local/cuda/bin/nvcc -O3 -arch=sm_20 -m64 -I/usr/local/boost_1_53_0 -lcudpp -c merge.cu
merge.cu(364): error: space required between adjacent ">" delimiters of nested template argument lists (">>" is the right shift operator)

/usr/local/cuda/bin/../include/thrust/detail/allocator/allocator_traits.h(124): error: name followed by "::" must be a class or namespace name
detected during:
instantiation of class "thrust::detail::allocator_traits [with Alloc=]"
/usr/local/cuda/bin/../include/thrust/detail/contiguous_storage.h(39): here
instantiation of class "thrust::detail::contiguous_storage<T, Alloc> [with T=float_type, Alloc=]"
/usr/local/cuda/bin/../include/thrust/detail/vector_base.h(46): here
instantiation of class "thrust::detail::vector_base<T, Alloc> [with T=float_type, Alloc=]"
/usr/local/cuda/bin/../include/thrust/host_vector.h(53): here
instantiation of class "thrust::host_vector<T, Alloc> [with T=float_type, Alloc=]"

modify source file, change non-shift ">>" to "> >" in merge.cu, cm.cu near "locate push_back("

make:
/usr/local/cuda/bin/nvcc -O3 -arch=sm_20 -m64 -I/usr/local/boost_1_53_0 -lcudpp -c merge.cu
/usr/local/cuda/bin/../include/thrust/detail/allocator/allocator_traits.inl(136): warning: calling a host function from a host device function is not allowed
detected during:
instantiation of "thrust::detail::enable_if<thrust::detail::allocator_traits_detail::has_member_destroy<Alloc, T>::value, void>::type thrust::detail::allocator_traits_detail::destroy(Alloc &, T *) [with Alloc=uninitialized_host_allocator<int_type>, T=int_type]"
(265): here
instantiation of "void thrust::detail::allocator_traits::destroy(thrust::detail::allocator_traits::allocator_type &, T *) [with Alloc=uninitialized_host_allocator<int_type>, T=int_type]"
/usr/local/cuda/bin/../include/thrust/detail/allocator/destroy_range.inl(103): here
instantiation of "void thrust::detail::allocator_traits_detail::destroy_via_allocator::operator()(T &) [with Allocator=uninitialized_host_allocator<int_type>, T=int_type]"
/usr/local/cuda/bin/../include/thrust/detail/function.h(47): here

from alenka.

antonmks avatar antonmks commented on July 28, 2024

Hi George
The warnings are ok, just complaining about uninitialized host allocators.
I run your script and it works fine. I assume you compiled any CUDA programs on your machine before and it run ok ? See if you can compile and run some example Thrust programs.
Also, if you use varchars, use lengths from 1 to 10,most of the other lengths are not yet defined in strings.cu file ( you can add it there if you want to)

from alenka.

georgezhlw avatar georgezhlw commented on July 28, 2024

Anton,
CUDA and basic Thrust program works. Since alenka fails at reduce_by_key, i tested thrust::reduce_by_key, it fails with same error, so this should be a thrust 1.7 problem on my machine.

thrust]$ cat reducebykey.cu
#include < thrust/reduce.h>
#include < thrust/unique.h>
#include < thrust/iterator/discard_iterator.h>

#include < thrust/host_vector.h>
#include < thrust/device_vector.h>

int main(void) {
thrust::device_vector keys;
thrust::device_vector values;
typename thrust::pair<typename thrust::device_vector::iterator, typename thrust::device_vector::iterator> new_last;
keys.resize(9);
keys[0] = 11;
keys[1] = 11;
keys[2] = 21;
keys[3] = 20;
keys[4] = 21;
keys[5] = 21;
keys[6] = 21;
keys[7] = 37;
keys[8] = 37;
values.resize(9);
values[0] = 0;
values[1] = 1;
values[2] = 2;
values[3] = 3;
values[4] = 4;
values[5] = 5;
values[6] = 6;
values[7] = 7;
values[8] = 8;
thrust::device_vector output_keys(keys.size());
thrust::device_vector output_values(values.size());
new_last = thrust::reduce_by_key(keys.begin(), keys.end(), values.begin(), output_keys.begin(), output_values.begin());
return 0;
}
thrust]$ nvcc -arch=sm_20 -m64 reducebykey.cu -o reducebykey
thrust]$ ./reducebykey
libc++abi.dylib: terminate called throwing an exception
Abort trap: 6
regards,
George

from alenka.

antonmks avatar antonmks commented on July 28, 2024

Which version of CUDA do you have on your machine ?
nvcc --version

from alenka.

georgezhlw avatar georgezhlw commented on July 28, 2024

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2012 NVIDIA Corporation
Built on Fri_Sep_28_16:10:16_PDT_2012
Cuda compilation tools, release 5.0, V0.2.1221

from alenka.

antonmks avatar antonmks commented on July 28, 2024

Ok, that should work. Which GPU do you use ?

from alenka.

georgezhlw avatar georgezhlw commented on July 28, 2024

GPU is GeForce GT 650M; global mem: 536543232B; compute v3.0; clock: 774500 kHz

I found that the failure is because i use -arch=sm_20 (or sm_30) together with -m64. reduce_by_key will success if i use only one of the option.

For compiling Alenka, if I don't use -arch, if fails at:
/usr/local/cuda/bin/nvcc -O3 -m64 -I/usr/local/boost_1_53_0 -c strings.cu
ptxas /tmp/tmpxft_0000079f_00000000-5_strings.ptx, line 0; fatal : (C9999) max reg limit too low

if i don't use -m64, it will compile into 32 bit, and by default cudpp compiled to 64 bit on my system. I really don't want to compile the whole thing to 32bit. So i am stuck (:

from alenka.

antonmks avatar antonmks commented on July 28, 2024

You definitely should compile 64 bit version.
I haven't seen this error (reg limit) before but it might be related to the limited hardware resources of your GPU.
Because it fails to compile strings.cu I can suggest the following thing : comment out from strings.cu all processing of strings longer than, say, 10 characters and see if that compiles.

from alenka.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.