serial | | 381.2508 ms (1.00x) | 1503.244 ms (1.00x) | 6022.61 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]
| 34.62982 ms (11.01x) | 132.3252 ms (11.36x) | 518.2842 ms (11.62x) | 11.32x |
adamekj9 | | 41.95064 ms (9.09x) | 144.7606 ms (10.38x) | 608.3912 ms (9.90x) | 9.76x |
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]
| 35.75242 ms (10.66x) | 130.9888 ms (11.48x) | 511.4294 ms (11.78x) | 11.29x |
beliansp | | 29.47138 ms (12.94x) | 100.24902 ms (15.00x) | 381.16 ms (15.80x) | 14.47x |
brechers | | 40.9891 ms (9.30x) | 153.2906 ms (9.81x) | 607.507 ms (9.91x) | 9.67x |
cermami9 | | 30.4913 ms (12.50x) | 100.9028 ms (14.90x) | 380.0976 ms (15.84x) | 14.27x |
chudacec | | 33.27118 ms (11.46x) | 105.6286 ms (14.23x) | 384.8148 ms (15.65x) | 13.55x |
cihlarkl | | 378.0098 ms (1.01x) | 1508.602 ms (1.00x) | 6012.422 ms (1.00x) | 1.00x |
dinhdo | | 27.95022 ms (13.64x) | 97.20148 ms (15.47x) | 370.6198 ms (16.25x) | 15.04x |
dobreva | | 61.91942 ms (6.16x) | 241.735 ms (6.22x) | 905.695 ms (6.65x) | 6.33x |
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]
| 27.81556 ms (13.71x) | 94.89148 ms (15.84x) | 360.058 ms (16.73x) | 15.32x |
fedoseer | | 30.61608 ms (12.45x) | 110.5042 ms (13.60x) | 428.0392 ms (14.07x) | 13.34x |
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)
| ^~~~~~~~~~~~~~~~~
| 25.2488 ms (15.10x) | 90.66398 ms (16.58x) | 349.156 ms (17.25x) | 16.26x |
hopfere | | 26.18752 ms (14.56x) | 93.91636 ms (16.01x) | 359.9244 ms (16.73x) | 15.71x |
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)
| ^~~~~~~~~~~~~~~~~
| 41.66602 ms (9.15x) | 155.2282 ms (9.68x) | 608.6528 ms (9.89x) | 9.57x |
hrubyja2 | | 161.1476 ms (2.37x) | 632.7234 ms (2.38x) | 2553.4 ms (2.36x) | 2.37x |
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]
| 41.71298 ms (9.14x) | 156.3014 ms (9.62x) | 613.311 ms (9.82x) | 9.52x |
hubenami | | 44.77048 ms (8.52x) | 173.0754 ms (8.69x) | 710.2152 ms (8.48x) | 8.56x |
hurtisov | | 32.30656 ms (11.80x) | 102.8406 ms (14.62x) | 375.8606 ms (16.02x) | 13.92x |
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]
| 35.95312 ms (10.60x) | 126.4908 ms (11.88x) | 496.4032 ms (12.13x) | 11.50x |
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]
| 98.21534 ms (3.88x) | 378.5152 ms (3.97x) | 1493.276 ms (4.03x) | 3.96x |
kapustb | | 37.1801 ms (10.25x) | 134.7278 ms (11.16x) | 520.6032 ms (11.57x) | 10.97x |
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)
| ^~~~~~~~~~~~~~~~~
| 39.9392 ms (9.55x) | 133.2444 ms (11.28x) | 513.4654 ms (11.73x) | 10.77x |
klemend | | 26.65 ms (14.31x) | 94.73528 ms (15.87x) | 365.3466 ms (16.48x) | 15.50x |
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)
| ^~~~~~~~~~~~~~~~~
| 211.8434 ms (1.80x) | 839.5872 ms (1.79x) | 3392.434 ms (1.78x) | 1.79x |
kormosa_late | | 64.61012 ms (5.90x) | 238.5676 ms (6.30x) | 924.5076 ms (6.51x) | 6.23x |
kripnema | | 26.24248 ms (14.53x) | 91.63622 ms (16.40x) | 349.6862 ms (17.22x) | 15.97x |
krnakva | | 44.69524 ms (8.53x) | 162.1036 ms (9.27x) | 674.9648 ms (8.92x) | 8.90x |
lamplotm | | 35.41176 ms (10.77x) | 115.742 ms (12.99x) | 435.1144 ms (13.84x) | 12.39x |
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.91344 ms (10.33x) | 121.2044 ms (12.40x) | 421.7394 ms (14.28x) | 12.12x |
malyjir1 | | 34.31094 ms (11.11x) | 126.6242 ms (11.87x) | 492.7254 ms (12.22x) | 11.72x |
markomi1 | | 31.64996 ms (12.05x) | 101.9708 ms (14.74x) | 380.5546 ms (15.83x) | 14.02x |
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)
| ^~~~~~~~~~~~~~~~~
| 39.16454 ms (9.73x) | 131.8056 ms (11.41x) | 506.1244 ms (11.90x) | 10.93x |
nagymar | | 27.3094 ms (13.96x) | 101.3418 ms (14.83x) | 385.0886 ms (15.64x) | 14.78x |
nekardaj |
In file included from k-means.cpp:9:
./implementation.hpp:131:25: warning: "/*" within comment [-Wcomment]
131 | /**/
|
| 120.2198 ms (3.17x) | 470.9144 ms (3.19x) | 1868.934 ms (3.22x) | 3.20x |
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]
| 45.92448 ms (8.30x) | 170.9004 ms (8.80x) | 667.0252 ms (9.03x) | 8.70x |
novelins | | 27.2053 ms (14.01x) | 97.33188 ms (15.44x) | 373.197 ms (16.14x) | 15.15x |
obornyt | | 32.71298 ms (11.65x) | 115.6474 ms (13.00x) | 445.5802 ms (13.52x) | 12.67x |
pacalm | | 25.9022 ms (14.72x) | 93.16114 ms (16.14x) | 359.1814 ms (16.77x) | 15.83x |
petrask1 | | 26.65018 ms (14.31x) | 94.0545 ms (15.98x) | 360.9216 ms (16.69x) | 15.59x |
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)
| ^~~~~~~~~~~~~~~~~
| 36.29546 ms (10.50x) | 131.6342 ms (11.42x) | 516.803 ms (11.65x) | 11.17x |
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]
| 36.5114 ms (10.44x) | 134.7982 ms (11.15x) | 525.676 ms (11.46x) | 11.00x |
provaja | | 33.97222 ms (11.22x) | 119.3584 ms (12.59x) | 445.1448 ms (13.53x) | 12.38x |
rippj | | 379.6314 ms (1.00x) | 1504.554 ms (1.00x) | 6005.908 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]
| 28.75706 ms (13.26x) | 103.5686 ms (14.51x) | 400.2316 ms (15.05x) | 14.23x |
strycekr | | 26.49322 ms (14.39x) | 94.67434 ms (15.88x) | 362.1232 ms (16.63x) | 15.58x |
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]
| 32.48016 ms (11.74x) | 118.1834 ms (12.72x) | 456.501 ms (13.19x) | 12.52x |
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]
| 20.72532 ms (18.40x) | 69.76102 ms (21.55x) | 263.7064 ms (22.84x) | 20.75x |
tichavso | | 26.93508 ms (14.15x) | 96.29216 ms (15.61x) | 372.996 ms (16.15x) | 15.26x |
tomasekjac | | 27.10964 ms (14.06x) | 96.70472 ms (15.54x) | 377.5892 ms (15.95x) | 15.14x |
trefilpa | | 30.85844 ms (12.35x) | 110.8526 ms (13.56x) | 431.0312 ms (13.97x) | 13.26x |
truchanm | | 33.49266 ms (11.38x) | 120.2518 ms (12.50x) | 461.2718 ms (13.06x) | 12.27x |
vaico | | 39.60354 ms (9.63x) | 148.37 ms (10.13x) | 582.296 ms (10.34x) | 10.02x |
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]
| 26.33756 ms (14.48x) | 95.4313 ms (15.75x) | 366.6616 ms (16.43x) | 15.51x |
vermesa | | 42.1128 ms (9.05x) | 154.2272 ms (9.75x) | 600.3876 ms (10.03x) | 9.59x |
veselmi7 | | 25.48504 ms (14.96x) | 89.944 ms (16.71x) | 345.023 ms (17.46x) | 16.31x |
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]
| 51.33848 ms (7.43x) | 197.727 ms (7.60x) | 780.0912 ms (7.72x) | 7.58x |
vopalkoz | | 38.40604 ms (9.93x) | 142.4632 ms (10.55x) | 563.573 ms (10.69x) | 10.38x |
yanushop | | 27.43702 ms (13.90x) | 96.83636 ms (15.52x) | 369.7962 ms (16.29x) | 15.17x |