Closed agnius-vasiliauskas closed 11 years ago
Most likely the same problem . You need to compile Alenka as 64bit executable. It won't work on a 32bit platforms.
i've the same problem on 64bit machine
Seems like a problem with Boost 1.53. I removed Boost references, Alenka uses now a straight map container.
It is strange because at me works fine boost::unordered_map. MSVS2010 + Boost1.53
It works on my machine too. Boost unordered map has a much better performance so groupby's run 3-4 times faster for large datasets. So guys if you need it get the version without Boost now because tomorrow I will revert Alenka back to using Boost map containers.
Hi Anton! And why groupby is using CPU unordered_map instead of the using GPU libraries for matching and Murmurhash for hashing?
This would be good if the results (or at least the hashes of the results) could be kept in GPU memory. But for some groupby operations at the large scale the results do not fit GPU memory. I'll try tonight to see if at least the hashing could be done on GPU.
Also when compiling Alenka with boost 1.53.0 on windows 32-bit & cuda 5.0 - I'm getting error:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin/../include\boost/uno rdered/detail/unique.hpp(342) : error C2248: 'boost::unordered::iteratordetail: :iterator::node ' : cannot access private member declared in class 'boost:
:unordered::iterator_detail::iterator'
with
[
Node=boost::unordered::detail::ptr_node<std::pair<const int64,unsi
gned int>>
]
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin/../include\b
oost/unordered/detail/buckets.hpp(199) : see declaration of 'boost::unordered::i
teratordetail::iterator::node '
with
[
Node=boost::unordered::detail::ptr_node<std::pair<const __int64,unsi
gned int>>
]
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin/../include\b
oost/unordered/detail/unique.hpp(336) : while compiling class template member fu
nction 'std::pair<_Ty1,_Ty2> &boost::unordered::detail::table_impl::opera
tor [](const int64 &)'
with
[
_Ty1=const int64,
Ty2=unsigned int,
Types=boost::unordered::detail::map<std::allocator<std::pair<const
_int64,unsigned int>>,int64,unsigned int,boost::hash<int64>,std::equal_to<
int64>>
]
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin/../include\b
oost/unordered/unordered_map.hpp(73) : see reference to class template instantia
tion 'boost::unordered::detail::tableimpl' being compiled
with
[
Types=boost::unordered::detail::map<std::allocator<std::pair<const
_int64,unsigned int>>,int64,unsigned int,boost::hash<__int64>,std::equal_to<
int64>>
]
merge.cu(103) : see reference to class template instantiation 'boost::un
ordered::unordered_map<K,T,H,P,A>' being compiled
with
[
K=int64,
T=unsigned int,
H=boost::hash<int64>,
P=std::equal_to<__int64>,
A=std::allocator<std::pair<const __int64,unsigned int>>
]
NMAKE : fatal error U1077: '"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\
v5.0\bin\nvcc.EXE"' : return code '0x2'
Stop.
Can somebody help ?