serial | | 375.5574 ms (1.00x) | 1501.526 ms (1.00x) | 6025.748 ms (1.00x) | 1.00x |
solution |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/tbb/combinable.h:17,
from ./implementation.hpp:4,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:843:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific() [with T = KMeans<point_t, unsigned char, true>::MeanSums; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::MeanSums>; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:39:5: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::MeanSums>, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:843:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific() [with T = KMeans<point_t, unsigned char, false>::MeanSums; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::MeanSums>; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:39:5: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::MeanSums>, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 23.80008 ms (15.78x) | 73.55282 ms (20.41x) | 266.0504 ms (22.65x) | 19.17x |
adamekj9 | | 28.97048 ms (12.96x) | 81.1475 ms (18.50x) | 326.3352 ms (18.46x) | 16.19x |
barosma |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/tbb/combinable.h:17,
from ./implementation.hpp:7,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = long unsigned int; T = std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> >]’
./implementation.hpp:46:46: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::ClusterData, std::allocator<KMeans<point_t, unsigned char, true>::ClusterData> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = long unsigned int; T = std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> >]’
./implementation.hpp:46:46: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::ClusterData, std::allocator<KMeans<point_t, unsigned char, false>::ClusterData> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 23.61322 ms (15.90x) | 71.98356 ms (20.86x) | 263.9138 ms (22.83x) | 19.40x |
beliansp | | 21.66314 ms (17.34x) | 62.74648 ms (23.93x) | 214.62 ms (28.08x) | 22.21x |
brechers | | 29.2038 ms (12.86x) | 96.52094 ms (15.56x) | 372.465 ms (16.18x) | 14.72x |
cermami9 | | 23.96544 ms (15.67x) | 62.42804 ms (24.05x) | 214.514 ms (28.09x) | 21.28x |
chudacec | | 24.72838 ms (15.19x) | 62.98682 ms (23.84x) | 206.4422 ms (29.19x) | 21.12x |
cihlarkl | | 375.162 ms (1.00x) | 1507.262 ms (1.00x) | 6024.586 ms (1.00x) | 1.00x |
dinhdo | | 22.52946 ms (16.67x) | 58.95306 ms (25.47x) | 200.4554 ms (30.06x) | 22.64x |
dobreva | | 127.40846 ms (2.95x) | 286.907 ms (5.23x) | 1380.284 ms (4.37x) | 3.95x |
fedakri |
In file included from /usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/tbb/../oneapi/tbb.h:35,
from /usr/local/tbb/include/tbb/tbb.h:17,
from ./implementation.hpp:4,
from k-means.cpp:9:
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> >]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = long unsigned int; T = std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> >]’
./implementation.hpp:78:49: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, true>::PartialCluster> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> >]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = long unsigned int; T = std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> >]’
./implementation.hpp:78:49: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::PartialCluster, std::allocator<KMeans<point_t, unsigned char, false>::PartialCluster> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 20.19318 ms (18.60x) | 57.34112 ms (26.19x) | 188.424 ms (31.98x) | 24.35x |
fedoseer | | 23.51146 ms (15.97x) | 75.05992 ms (20.00x) | 274.937 ms (21.92x) | 18.96x |
goliasm |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/concurrent_vector.h:17,
from ./implementation.hpp:7,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = ForRed; Allocator = tbb::detail::d1::cache_aligned_allocator<ForRed>; DerivedType = tbb::detail::d1::concurrent_vector<ForRed>; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<ForRed>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = ForRed; Allocator = tbb::detail::d1::cache_aligned_allocator<ForRed>; allocator_type = tbb::detail::d1::cache_aligned_allocator<ForRed>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:299:34: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(size_type, const allocator_type&) [with T = ForRed; Allocator = tbb::detail::d1::cache_aligned_allocator<ForRed>; size_type = long unsigned int; allocator_type = tbb::detail::d1::cache_aligned_allocator<ForRed>]’
./implementation.hpp:38:5: required from ‘CentroidCollection<POINT, ASGN>::CentroidCollection(const size_t&, std::vector<POINT>*, std::vector<ASGN>*, const std::vector<POINT>*) [with POINT = point_t; ASGN = unsigned char; size_t = long unsigned int]’
./implementation.hpp:164:23: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<ForRed, tbb::detail::d1::cache_aligned_allocator<ForRed>, tbb::detail::d1::concurrent_vector<ForRed>, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
| 17.76746 ms (21.14x) | 51.35506 ms (29.24x) | 181.4972 ms (33.20x) | 26.87x |
hopfere | | 19.09564 ms (19.67x) | 54.22748 ms (27.69x) | 191.783 ms (31.42x) | 25.26x |
hotmarv |
In file included from /usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/oneapi/tbb.h:35,
from ./implementation.hpp:4,
from k-means.cpp:9:
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> >]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:854:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(const T&) [with T = Data<point_t>; Allocator = tbb::detail::d1::cache_aligned_allocator<Data<point_t> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:78:62: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute_iter(const std::vector<POINT>&, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
./implementation.hpp:61:19: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<Data<point_t> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
| 27.81056 ms (13.50x) | 84.1536 ms (17.84x) | 313.3984 ms (19.23x) | 16.47x |
hrubyja2 | | 228.0114 ms (1.65x) | 879.0072 ms (1.71x) | 3476.798 ms (1.73x) | 1.70x |
hubatama |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/enumerable_thread_specific.h:17,
from ./implementation.hpp:3,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:854:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(const T&) [with T = std::vector<point_t>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<point_t> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:76:55: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:854:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(const T&) [with T = std::vector<long unsigned int>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<long unsigned int> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:77:61: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 27.37382 ms (13.72x) | 85.49006 ms (17.56x) | 313.8324 ms (19.20x) | 16.49x |
hubenami | | 29.05086 ms (12.93x) | 96.48632 ms (15.56x) | 387.6302 ms (15.55x) | 14.57x |
hurtisov | | 25.95346 ms (14.47x) | 65.14036 ms (23.05x) | 222.775 ms (27.05x) | 20.07x |
jungmak |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/tbb/combinable.h:17,
from ./implementation.hpp:5,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = unsigned char; Allocator = tbb::detail::d1::cache_aligned_allocator<unsigned char>; DerivedType = tbb::detail::d1::concurrent_vector<unsigned char, tbb::detail::d1::cache_aligned_allocator<unsigned char> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<unsigned char>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = unsigned char; Allocator = tbb::detail::d1::cache_aligned_allocator<unsigned char>; allocator_type = tbb::detail::d1::cache_aligned_allocator<unsigned char>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = unsigned char; Allocator = tbb::detail::d1::cache_aligned_allocator<unsigned char>]’
./implementation.hpp:84:46: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<unsigned char, tbb::detail::d1::cache_aligned_allocator<unsigned char>, tbb::detail::d1::concurrent_vector<unsigned char, tbb::detail::d1::cache_aligned_allocator<unsigned char> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:854:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(const T&) [with T = std::vector<point_t>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<point_t> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = std::vector<point_t>; T = std::vector<point_t>]’
./implementation.hpp:80:53: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:854:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(const T&) [with T = std::vector<long unsigned int>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<long unsigned int> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = std::vector<long unsigned int>; T = std::vector<long unsigned int>]’
./implementation.hpp:81:54: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 26.45982 ms (14.19x) | 77.48296 ms (19.38x) | 267.1572 ms (22.56x) | 18.03x |
kadlect |
In file included from k-means.cpp:9:
./implementation.hpp: In lambda function:
./implementation.hpp:147:56: warning: comparison of integer expressions of different signedness: ‘int’ and ‘tbb::detail::d1::blocked_range<long unsigned int>::const_iterator’ {aka ‘long unsigned int’} [-Wsign-compare]
147 | for (int i=r.begin(); i<r.end(); ++i) {
| ~^~~~~~~~
./implementation.hpp: In instantiation of ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’:
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
./implementation.hpp:147:56: warning: comparison of integer expressions of different signedness: ‘int’ and ‘tbb::detail::d1::blocked_range<long unsigned int>::const_iterator’ {aka ‘long unsigned int’} [-Wsign-compare]
./implementation.hpp: In instantiation of ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’:
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
./implementation.hpp:147:56: warning: comparison of integer expressions of different signedness: ‘int’ and ‘tbb::detail::d1::blocked_range<long unsigned int>::const_iterator’ {aka ‘long unsigned int’} [-Wsign-compare]
In file included from /usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:24,
from ./implementation.hpp:5:
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d1::spin_rw_mutex; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d1::spin_rw_mutex>; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d1::spin_rw_mutex>; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d1::spin_rw_mutex>]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d1::spin_rw_mutex; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d1::spin_rw_mutex>; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d1::spin_rw_mutex>]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d1::spin_rw_mutex; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d1::spin_rw_mutex>]’
./implementation.hpp:16:7: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d1::spin_rw_mutex, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d1::spin_rw_mutex>, tbb::detail::d1::concurrent_vector<tbb::detail::d1::spin_rw_mutex>, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; DerivedType = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>]’
./implementation.hpp:16:7: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<point_t, tbb::detail::d1::cache_aligned_allocator<point_t>, tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = long unsigned int; Allocator = tbb::detail::d1::cache_aligned_allocator<long unsigned int>; DerivedType = tbb::detail::d1::concurrent_vector<long unsigned int>; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<long unsigned int>]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = long unsigned int; Allocator = tbb::detail::d1::cache_aligned_allocator<long unsigned int>; allocator_type = tbb::detail::d1::cache_aligned_allocator<long unsigned int>]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = long unsigned int; Allocator = tbb::detail::d1::cache_aligned_allocator<long unsigned int>]’
./implementation.hpp:16:7: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<long unsigned int, tbb::detail::d1::cache_aligned_allocator<long unsigned int>, tbb::detail::d1::concurrent_vector<long unsigned int>, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 151.0474 ms (2.49x) | 574.781 ms (2.61x) | 2264.666 ms (2.66x) | 2.58x |
kapustb | | 26.10018 ms (14.39x) | 75.6744 ms (19.84x) | 270.102 ms (22.31x) | 18.21x |
kastovso |
In file included from /usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/oneapi/tbb.h:35,
from ./implementation.hpp:4,
from k-means.cpp:9:
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; DerivedType = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>]’
./implementation.hpp:52:32: required from ‘void KMeans<POINT, ASGN, DEBUG>::init(std::size_t, std::size_t, std::size_t) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:104:13: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<point_t, tbb::detail::d1::cache_aligned_allocator<point_t>, tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
| 45.72346 ms (8.21x) | 144.2492 ms (10.41x) | 487.4362 ms (12.36x) | 10.04x |
klemend | | 20.83996 ms (18.02x) | 58.42176 ms (25.70x) | 204.378 ms (29.48x) | 23.38x |
kormosa |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/concurrent_vector.h:17,
from ./implementation.hpp:6,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; DerivedType = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/gcc122/include/c++/12.2.0/bits/unique_ptr.h:1065:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; _Args = {}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t<tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> > >]’
./implementation.hpp:63:79: required from ‘void KMeans<POINT, ASGN, DEBUG>::init(std::size_t, std::size_t, std::size_t) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:104:13: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<point_t, tbb::detail::d1::cache_aligned_allocator<point_t>, tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
| 300.736 ms (1.25x) | 1189.4 ms (1.26x) | 4787.286 ms (1.26x) | 1.26x |
kormosa_late | | 71.1013 ms (5.28x) | 256.4634 ms (5.85x) | 914.1482 ms (6.59x) | 5.86x |
kripnema | | 20.90682 ms (17.96x) | 58.68454 ms (25.59x) | 190.0658 ms (31.70x) | 23.75x |
krnakva | | 33.13624 ms (11.33x) | 106.9436 ms (14.04x) | 447.2634 ms (13.47x) | 12.84x |
lamplotm | | 28.41112 ms (13.22x) | 76.53822 ms (19.62x) | 277.8806 ms (21.68x) | 17.37x |
lukasej1 |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/concurrent_vector.h:17,
from ./implementation.hpp:6,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; DerivedType = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_construct.h:119:7: required from ‘void std::_Construct(_Tp*, _Args&& ...) [with _Tp = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; _Args = {}]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_uninitialized.h:638:18: required from ‘static _ForwardIterator std::__uninitialized_default_n_1<_TrivialValueType>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >*; _Size = long unsigned int; bool _TrivialValueType = false]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_uninitialized.h:701:20: required from ‘_ForwardIterator std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >*; _Size = long unsigned int]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_uninitialized.h:766:44: required from ‘_ForwardIterator std::__uninitialized_default_n_a(_ForwardIterator, _Size, allocator<_Tp>&) [with _ForwardIterator = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >*; _Size = long unsigned int; _Tp = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_vector.h:1713:36: required from ‘void std::vector<_Tp, _Alloc>::_M_default_initialize(size_type) [with _Tp = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; _Alloc = std::allocator<tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> > >; size_type = long unsigned int]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_vector.h:553:9: required from ‘std::vector<_Tp, _Alloc>::vector(size_type, const allocator_type&) [with _Tp = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; _Alloc = std::allocator<tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> > >; size_type = long unsigned int; allocator_type = std::allocator<tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> > >]’
./implementation.hpp:77:47: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<point_t, tbb::detail::d1::cache_aligned_allocator<point_t>, tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = long unsigned int; Allocator = tbb::detail::d1::cache_aligned_allocator<long unsigned int>; DerivedType = tbb::detail::d1::concurrent_vector<long unsigned int>; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<long unsigned int>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = long unsigned int; Allocator = tbb::detail::d1::cache_aligned_allocator<long unsigned int>; allocator_type = tbb::detail::d1::cache_aligned_allocator<long unsigned int>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = long unsigned int; Allocator = tbb::detail::d1::cache_aligned_allocator<long unsigned int>]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_construct.h:119:7: required from ‘void std::_Construct(_Tp*, _Args&& ...) [with _Tp = tbb::detail::d1::concurrent_vector<long unsigned int>; _Args = {}]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_uninitialized.h:638:18: required from ‘static _ForwardIterator std::__uninitialized_default_n_1<_TrivialValueType>::__uninit_default_n(_ForwardIterator, _Size) [with _ForwardIterator = tbb::detail::d1::concurrent_vector<long unsigned int>*; _Size = long unsigned int; bool _TrivialValueType = false]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_uninitialized.h:701:20: required from ‘_ForwardIterator std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = tbb::detail::d1::concurrent_vector<long unsigned int>*; _Size = long unsigned int]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_uninitialized.h:766:44: required from ‘_ForwardIterator std::__uninitialized_default_n_a(_ForwardIterator, _Size, allocator<_Tp>&) [with _ForwardIterator = tbb::detail::d1::concurrent_vector<long unsigned int>*; _Size = long unsigned int; _Tp = tbb::detail::d1::concurrent_vector<long unsigned int>]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_vector.h:1713:36: required from ‘void std::vector<_Tp, _Alloc>::_M_default_initialize(size_type) [with _Tp = tbb::detail::d1::concurrent_vector<long unsigned int>; _Alloc = std::allocator<tbb::detail::d1::concurrent_vector<long unsigned int> >; size_type = long unsigned int]’
/usr/local/gcc122/include/c++/12.2.0/bits/stl_vector.h:553:9: required from ‘std::vector<_Tp, _Alloc>::vector(size_type, const allocator_type&) [with _Tp = tbb::detail::d1::concurrent_vector<long unsigned int>; _Alloc = std::allocator<tbb::detail::d1::concurrent_vector<long unsigned int> >; size_type = long unsigned int; allocator_type = std::allocator<tbb::detail::d1::concurrent_vector<long unsigned int> >]’
./implementation.hpp:78:53: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<long unsigned int, tbb::detail::d1::cache_aligned_allocator<long unsigned int>, tbb::detail::d1::concurrent_vector<long unsigned int>, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 36.5405 ms (10.28x) | 107.144 ms (14.01x) | 335.6772 ms (17.95x) | 13.37x |
malyjir1 | | 25.27938 ms (14.86x) | 80.95922 ms (18.55x) | 302.303 ms (19.93x) | 17.50x |
markomi1 | | 26.40026 ms (14.23x) | 66.997 ms (22.41x) | 217.5736 ms (27.70x) | 19.86x |
markvaja |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/concurrent_vector.h:17,
from ./implementation.hpp:4,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; DerivedType = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>]’
./implementation.hpp:54:22: required from ‘void KMeans<POINT, ASGN, DEBUG>::init(std::size_t, std::size_t, std::size_t) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:104:13: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<point_t, tbb::detail::d1::cache_aligned_allocator<point_t>, tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
| 45.7239 ms (8.21x) | 145.5396 ms (10.32x) | 491.3524 ms (12.26x) | 9.99x |
nagymar | | 21.13194 ms (17.77x) | 62.09108 ms (24.18x) | 219.072 ms (27.51x) | 22.39x |
nekardaj |
In file included from k-means.cpp:9:
./implementation.hpp:131:25: warning: "/*" within comment [-Wcomment]
131 | /**/
|
| 173.1922 ms (2.17x) | 686.7274 ms (2.19x) | 2728.964 ms (2.21x) | 2.19x |
nguyenq1 |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/enumerable_thread_specific.h:17,
from ./implementation.hpp:5,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:843:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific() [with T = std::vector<point_t>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<point_t> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:79:56: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:843:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific() [with T = std::vector<long unsigned int>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<long unsigned int> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:80:62: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 31.69926 ms (11.85x) | 97.7483 ms (15.36x) | 346.371 ms (17.40x) | 14.49x |
novelins | | 20.24436 ms (18.55x) | 61.86132 ms (24.27x) | 216.2328 ms (27.87x) | 22.90x |
obornyt | | 25.96538 ms (14.46x) | 77.29884 ms (19.42x) | 287.597 ms (20.95x) | 17.82x |
pacalm | | 19.12064 ms (19.64x) | 53.64794 ms (27.99x) | 194.7316 ms (30.94x) | 25.22x |
petrask1 | | 20.05856 ms (18.72x) | 53.86346 ms (27.88x) | 188.7212 ms (31.93x) | 24.88x |
piroutej |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/concurrent_vector.h:17,
from ./implementation.hpp:4,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; DerivedType = tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>; allocator_type = tbb::detail::d1::cache_aligned_allocator<point_t>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = point_t; Allocator = tbb::detail::d1::cache_aligned_allocator<point_t>]’
./implementation.hpp:56:17: required from ‘void KMeans<POINT, ASGN, DEBUG>::init(std::size_t, std::size_t, std::size_t) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:104:13: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<point_t, tbb::detail::d1::cache_aligned_allocator<point_t>, tbb::detail::d1::concurrent_vector<point_t, tbb::detail::d1::cache_aligned_allocator<point_t> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
| 43.30468 ms (8.67x) | 144.7122 ms (10.38x) | 489.1542 ms (12.32x) | 10.24x |
polakluk |
In file included from /usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/tbb/../oneapi/tbb.h:35,
from /usr/local/tbb/include/tbb/tbb.h:17,
from ./implementation.hpp:4,
from k-means.cpp:9:
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> >]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:83:55: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Data, std::allocator<KMeans<point_t, unsigned char, true>::Data> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> >]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:83:55: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Data, std::allocator<KMeans<point_t, unsigned char, false>::Data> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 24.62698 ms (15.25x) | 74.85448 ms (20.06x) | 273.6616 ms (22.02x) | 18.65x |
provaja | | 27.91652 ms (13.45x) | 85.14536 ms (17.63x) | 290.0974 ms (20.77x) | 16.74x |
rippj | | 374.665 ms (1.00x) | 1506.822 ms (1.00x) | 6006.59 ms (1.00x) | 1.00x |
stochelm |
In file included from /usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/tbb/../oneapi/tbb.h:35,
from /usr/local/tbb/include/tbb/tbb.h:17,
from ./implementation.hpp:5,
from k-means.cpp:9:
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> >]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:849:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(Finit) [with Finit = KMeans<point_t, unsigned char, true>::compute(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&)::<lambda()>; <template-parameter-2-2> = void; T = std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = KMeans<point_t, unsigned char, true>::compute(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&)::<lambda()>; T = std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> >]’
./implementation.hpp:94:38: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, true>::SumsCounts> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> >]’:
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> >]’
/usr/local/tbb/include/oneapi/tbb/enumerable_thread_specific.h:849:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(Finit) [with Finit = KMeans<point_t, unsigned char, false>::compute(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&)::<lambda()>; <template-parameter-2-2> = void; T = std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = KMeans<point_t, unsigned char, false>::compute(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&)::<lambda()>; T = std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> >]’
./implementation.hpp:94:38: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::SumsCounts, std::allocator<KMeans<point_t, unsigned char, false>::SumsCounts> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 21.459 ms (17.50x) | 59.00054 ms (25.45x) | 210.763 ms (28.59x) | 22.83x |
strycekr | | 19.95492 ms (18.82x) | 58.32798 ms (25.74x) | 194.9228 ms (30.91x) | 24.13x |
svarcjar |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/enumerable_thread_specific.h:17,
from ./implementation.hpp:6,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {point_t&}; <template-parameter-2-3> = void; T = std::vector<point_t>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<point_t> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:78:56: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<point_t> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {int}; <template-parameter-2-3> = void; T = std::vector<long unsigned int>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<long unsigned int> >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:79:62: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<long unsigned int> >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 24.81886 ms (15.13x) | 66.23986 ms (22.67x) | 240.081 ms (25.10x) | 19.99x |
svestka1 |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/enumerable_thread_specific.h:17,
from ./implementation.hpp:6,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:849:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(Finit) [with Finit = KMeans<point_t, unsigned char, true>::compute(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&)::<lambda()>; <template-parameter-2-2> = void; T = KMeans<point_t, unsigned char, true>::ThreadLocalData; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::ThreadLocalData>; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:70:62: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, true>::ThreadLocalData>, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:849:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(Finit) [with Finit = KMeans<point_t, unsigned char, false>::compute(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&)::<lambda()>; <template-parameter-2-2> = void; T = KMeans<point_t, unsigned char, false>::ThreadLocalData; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::ThreadLocalData>; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
./implementation.hpp:70:62: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<KMeans<point_t, unsigned char, false>::ThreadLocalData>, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 17.54254 ms (21.41x) | 43.01434 ms (34.91x) | 143.269 ms (42.06x) | 30.26x |
tichavso | | 20.8321 ms (18.03x) | 59.8118 ms (25.10x) | 207.2964 ms (29.07x) | 23.13x |
tomasekjac | | 20.06016 ms (18.72x) | 57.1051 ms (26.29x) | 204.4222 ms (29.48x) | 23.93x |
trefilpa | | 23.94394 ms (15.68x) | 71.66116 ms (20.95x) | 272.1796 ms (22.14x) | 19.15x |
truchanm | | 27.24782 ms (13.78x) | 83.26622 ms (18.03x) | 317.119 ms (19.00x) | 16.61x |
vaico | | 28.33146 ms (13.26x) | 90.54456 ms (16.58x) | 347.292 ms (17.35x) | 15.51x |
valenmic |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:26,
from /usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:22,
from /usr/local/tbb/include/tbb/combinable.h:17,
from ./implementation.hpp:7,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = long unsigned int; T = std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> >]’
./implementation.hpp:95:42: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, true>::Cluster, std::allocator<KMeans<point_t, unsigned char, true>::Cluster> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> >; DerivedType = tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> > >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128>; Allocator = tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/enumerable_thread_specific.h:868:5: required from ‘tbb::detail::d1::enumerable_thread_specific<T, Allocator, ETS_key_type>::enumerable_thread_specific(P1&&, P&& ...) [with P1 = long unsigned int&; P = {}; <template-parameter-2-3> = void; T = std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> >; Allocator = tbb::detail::d1::cache_aligned_allocator<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >; tbb::detail::d1::ets_key_usage_type ETS_key_type = tbb::detail::d1::ets_no_key]’
/usr/local/tbb/include/tbb/../oneapi/tbb/combinable.h:42:41: required from ‘tbb::detail::d1::combinable<T>::combinable(Finit) [with Finit = long unsigned int; T = std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> >]’
./implementation.hpp:95:42: required from ‘void KMeans<POINT, ASGN, DEBUG>::compute(const std::vector<POINT>&, std::size_t, std::size_t, std::vector<POINT>&, std::vector<ASGN>&) [with POINT = point_t; ASGN = unsigned char; bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:114:16: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> >, tbb::detail::d1::concurrent_vector<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128>, tbb::detail::d1::cache_aligned_allocator<tbb::detail::d0::padded<tbb::detail::d1::ets_element<std::vector<KMeans<point_t, unsigned char, false>::Cluster, std::allocator<KMeans<point_t, unsigned char, false>::Cluster> > >, 128> > >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 19.9143 ms (18.86x) | 54.73656 ms (27.43x) | 190.9928 ms (31.55x) | 24.76x |
vermesa | | 31.0619 ms (12.09x) | 96.18566 ms (15.61x) | 358.3802 ms (16.81x) | 14.55x |
veselmi7 | | 20.12068 ms (18.67x) | 54.1333 ms (27.74x) | 181.4536 ms (33.21x) | 25.05x |
vilimev |
In file included from /usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:24,
from /usr/local/tbb/include/tbb/concurrent_vector.h:17,
from ./implementation.hpp:6,
from k-means.cpp:9:
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = KMeans<point_t, unsigned char, true>::atomic_point; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point>; DerivedType = tbb::detail::d1::concurrent_vector<KMeans<point_t, unsigned char, true>::atomic_point, tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = KMeans<point_t, unsigned char, true>::atomic_point; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point>; allocator_type = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = KMeans<point_t, unsigned char, true>::atomic_point; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point>]’
./implementation.hpp:11:7: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<KMeans<point_t, unsigned char, true>::atomic_point, tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point>, tbb::detail::d1::concurrent_vector<KMeans<point_t, unsigned char, true>::atomic_point, tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, true>::atomic_point> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
63 | : my_segment_table_allocator(alloc), my_segment_table(my_embedded_table)
| ^~~~~~~~~~~~~~~~~
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = std::atomic<long unsigned int>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::atomic<long unsigned int> >; DerivedType = tbb::detail::d1::concurrent_vector<std::atomic<long unsigned int> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<std::atomic<long unsigned int> >]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = std::atomic<long unsigned int>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::atomic<long unsigned int> >; allocator_type = tbb::detail::d1::cache_aligned_allocator<std::atomic<long unsigned int> >]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = std::atomic<long unsigned int>; Allocator = tbb::detail::d1::cache_aligned_allocator<std::atomic<long unsigned int> >]’
./implementation.hpp:11:7: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = true; std::size_t = long unsigned int]’
k-means.cpp:167:19: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<std::atomic<long unsigned int>, tbb::detail::d1::cache_aligned_allocator<std::atomic<long unsigned int> >, tbb::detail::d1::concurrent_vector<std::atomic<long unsigned int> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h: In instantiation of ‘tbb::detail::d1::segment_table<T, Allocator, DerivedType, PointersPerEmbeddedTable>::segment_table(const allocator_type&) [with T = KMeans<point_t, unsigned char, false>::atomic_point; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point>; DerivedType = tbb::detail::d1::concurrent_vector<KMeans<point_t, unsigned char, false>::atomic_point, tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point> >; long unsigned int PointersPerEmbeddedTable = 3; allocator_type = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point>]’:
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:284:26: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector(const allocator_type&) [with T = KMeans<point_t, unsigned char, false>::atomic_point; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point>; allocator_type = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point>]’
/usr/local/tbb/include/tbb/../oneapi/tbb/concurrent_vector.h:281:61: required from ‘tbb::detail::d1::concurrent_vector<T, Allocator>::concurrent_vector() [with T = KMeans<point_t, unsigned char, false>::atomic_point; Allocator = tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point>]’
./implementation.hpp:11:7: required from ‘void runKmeans(const std::vector<point_t>&, std::size_t, std::size_t, std::vector<point_t>&, std::vector<unsigned char>&) [with bool DEBUG = false; std::size_t = long unsigned int]’
k-means.cpp:169:20: required from here
/usr/local/tbb/include/tbb/../oneapi/tbb/detail/_segment_table.h:63:63: warning: member ‘tbb::detail::d1::segment_table<KMeans<point_t, unsigned char, false>::atomic_point, tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point>, tbb::detail::d1::concurrent_vector<KMeans<point_t, unsigned char, false>::atomic_point, tbb::detail::d1::cache_aligned_allocator<KMeans<point_t, unsigned char, false>::atomic_point> >, 3>::my_embedded_table’ is used uninitialized [-Wuninitialized]
| 57.45332 ms (6.54x) | 213.9812 ms (7.02x) | 837.1222 ms (7.20x) | 6.91x |
vopalkoz | | 27.64298 ms (13.59x) | 88.0378 ms (17.06x) | 315.1484 ms (19.12x) | 16.26x |
yanushop | | 20.2017 ms (18.59x) | 57.36182 ms (26.18x) | 199.543 ms (30.20x) | 23.98x |