Software Archive
Read-only legacy content
17061 Discussions

Offloading and TBB

John_F_1
Beginner
448 Views

I'm trying to offload with TBB and I'm having trouble building on windows. Looking at tbb\examples\parallel_reduce\primes, it appears that this example was written to demonstrate offloading to the MIC but the makefile and the visual studio project do not have the required __TBB_MIC_OFFLOAD defined. When I add this (and also /Qtbb), I get a ton of warnings during compilation, followed by a compiler error:


Microsoft (R) Program Maintenance Utility Version 11.00.50727.1
Copyright (C) Microsoft Corporation.  All rights reserved.

	icl.exe main.cpp primes.cpp /MD /O2 /D NDEBUG /D __TBB_MIC_OFFLOAD /Qtbb /TP /EHsc /W3 /nologo /D _CONSOLE /D _MBCS /D WIN32  /link tbb.lib  /INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO  /OUT:Primes.exe
main.cpp
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\examples\parallel_reduce\primes\primes.h(25): warning #3335: offload features on this platform currently require that RTTI be disabled
  #pragma offload_attribute (push,target(mic))
                                         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(246): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded_base : T {
         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(249): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  template struct padded_base : T {};
                           ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(253): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded : padded_base {};
         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(323): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class no_copy: no_assign {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3440: a class with multiple base classes may not be marked shared
  class task_scheduler_init: internal::no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class task_scheduler_init: internal::no_copy {
        ^

primes.cpp
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\examples\parallel_reduce\primes\primes.h(25): warning #3335: offload features on this platform currently require that RTTI be disabled
  #pragma offload_attribute (push,target(mic))
                                         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(246): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded_base : T {
         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(249): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  template struct padded_base : T {};
                           ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(253): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded : padded_base {};
         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(323): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class no_copy: no_assign {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3440: a class with multiple base classes may not be marked shared
  class task_scheduler_init: internal::no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class task_scheduler_init: internal::no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_machine.h(348): warning #3440: a class with multiple base classes may not be marked shared
  class atomic_backoff : no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_machine.h(348): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class atomic_backoff : no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(49): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_additional_child_of_proxy: no_assign {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(69): warning #3440: a class with multiple base classes may not be marked shared
          class task_base: tbb::internal::no_copy {
                ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(69): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
          class task_base: tbb::internal::no_copy {
                ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(99): warning #3440: a class with multiple base classes may not be marked shared
      class scheduler: no_copy {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(99): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class scheduler: no_copy {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(133): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_root_with_context_proxy: no_assign {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(142): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_root_proxy: no_assign {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(148): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_continuation_proxy: no_assign {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(154): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_child_proxy: no_assign {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(303): warning #3440: a class with multiple base classes may not be marked shared
  class task_group_context : internal::no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(303): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class task_group_context : internal::no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(512): warning #3440: a class with multiple base classes may not be marked shared
  class task: __TBB_TASK_BASE_ACCESS interface5::internal::task_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(512): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class task: __TBB_TASK_BASE_ACCESS interface5::internal::task_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(859): warning #3440: a class with multiple base classes may not be marked shared
  class empty_task: public task {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(859): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class empty_task: public task {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(868): warning #3440: a class with multiple base classes may not be marked shared
      class function_task : public task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(868): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class function_task : public task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(883): warning #3440: a class with multiple base classes may not be marked shared
  class task_list: internal::no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(883): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class task_list: internal::no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(336): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  struct atomic_impl_with_arithmetic: atomic_impl {
         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(405): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  struct atomic: internal::atomic_impl {
         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(436): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(__TBB_LONG_LONG)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(437): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(441): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(long)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(441): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(long)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(442): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned long)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(442): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(unsigned long)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(468): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(468): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(unsigned)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(469): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(int)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(469): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(int)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(472): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned short)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(472): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(unsigned short)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(473): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(short)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(473): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(short)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(474): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(char)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(474): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(char)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(475): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(signed char)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(475): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(signed char)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(476): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned char)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(476): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(unsigned char)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(479): warning #3440: a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(wchar_t)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(479): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(wchar_t)
  ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(483): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  template struct atomic: internal::atomic_impl_with_arithmetic {
                              ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(59): warning #3440: a class with multiple base classes may not be marked shared
  class affinity_partitioner_base_v3: no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(59): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class affinity_partitioner_base_v3: no_copy {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(107): warning #3440: a class with multiple base classes may not be marked shared
  class flag_task: public task {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(107): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class flag_task: public task {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(127): warning #3440: a class with multiple base classes may not be marked shared
  class signal_task: public task {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(127): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class signal_task: public task {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(278): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  struct auto_partition_type_base : partition_type_base {
         ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(340): warning #3440: a class with multiple base classes may not be marked shared
  class affinity_partition_type : public auto_partition_type_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(340): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class affinity_partition_type : public auto_partition_type_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(403): warning #3440: a class with multiple base classes may not be marked shared
  class auto_partition_type: public auto_partition_type_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(403): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class auto_partition_type: public auto_partition_type_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(411): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class simple_partition_type: public partition_type_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(426): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class old_auto_partition_type: public tbb::internal::partition_type_base {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(460): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class partition_type: public internal::partition_type_base {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(490): warning #3440: a class with multiple base classes may not be marked shared
  class affinity_partitioner: internal::affinity_partitioner_base_v3 {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(490): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  class affinity_partitioner: internal::affinity_partitioner_base_v3 {
        ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(49): warning #3440: a class with multiple base classes may not be marked shared
      class finish_reduce: public flag_task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(49): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class finish_reduce: public flag_task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(104): warning #3440: a class with multiple base classes may not be marked shared
  template class start_reduce;
                                                                      ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(104): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
  template class start_reduce;
                                                                      ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(176): warning #3440: a class with multiple base classes may not be marked shared
      class finish_deterministic_reduce: public task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(176): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class finish_deterministic_reduce: public task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(196): warning #3440: a class with multiple base classes may not be marked shared
      class start_deterministic_reduce: public task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(196): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class start_deterministic_reduce: public task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(83): warning #3440: a class with multiple base classes may not be marked shared
      class start_reduce: public task {
            ^
          detected during:
            instantiation of class "tbb::interface6::internal::start_reduce [with Range=SieveRange, Body=Sieve, Partitioner=const tbb::simple_partitioner]" at line 340
            instantiation of "void tbb::parallel_reduce(const Range &, Body &, const tbb::simple_partitioner &) [with Range=SieveRange, Body=Sieve]" at line 305 of "primes.cpp"

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(83): warning #3441: a class marked shared may not have a base class whose size is not a multiple of 8
      class start_reduce: public task {
            ^
          detected during:
            instantiation of class "tbb::interface6::internal::start_reduce [with Range=SieveRange, Body=Sieve, Partitioner=const tbb::simple_partitioner]" at line 340
            instantiation of "void tbb::parallel_reduce(const Range &, Body &, const tbb::simple_partitioner &) [with Range=SieveRange, Body=Sieve]" at line 305 of "primes.cpp"

In file included from C:/Program Files/Intel/MPSS/k1om-mpss-linux/usr/include/c++/cstddef(43),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(113),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from main.cpp(21):
primes.h(25): warning #3335: *MIC* offload features on this platform currently require that RTTI be disabled
  #pragma offload_attribute (push,target(mic))
                                         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from main.cpp(21):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(246): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded_base : T {
         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from main.cpp(21):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(249): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  template struct padded_base : T {};
                           ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from main.cpp(21):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(253): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded : padded_base {};
         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from main.cpp(21):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(323): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class no_copy: no_assign {
        ^

In file included from primes.h(28),
                 from main.cpp(21):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class task_scheduler_init: internal::no_copy {
        ^

In file included from primes.h(28),
                 from main.cpp(21):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class task_scheduler_init: internal::no_copy {
        ^

In file included from C:/Program Files/Intel/MPSS/k1om-mpss-linux/usr/include/c++/cstddef(43),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(113),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from primes.cpp(27):
primes.h(25): warning #3335: *MIC* offload features on this platform currently require that RTTI be disabled
  #pragma offload_attribute (push,target(mic))
                                         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from primes.cpp(27):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(246): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded_base : T {
         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from primes.cpp(27):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(249): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  template struct padded_base : T {};
                           ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from primes.cpp(27):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(253): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  struct padded : padded_base {};
         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(24),
                 from primes.h(28),
                 from primes.cpp(27):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_stddef.h(323): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class no_copy: no_assign {
        ^

In file included from primes.h(28),
                 from primes.cpp(27):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class task_scheduler_init: internal::no_copy {
        ^

In file included from primes.h(28),
                 from primes.cpp(27):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task_scheduler_init.h(53): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class task_scheduler_init: internal::no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(25),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_machine.h(348): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class atomic_backoff : no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(25),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/tbb_machine.h(348): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class atomic_backoff : no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(49): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_additional_child_of_proxy: no_assign {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(69): warning #3440: *MIC* a class with multiple base classes may not be marked shared
          class task_base: tbb::internal::no_copy {
                ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(69): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
          class task_base: tbb::internal::no_copy {
                ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(99): warning #3440: *MIC* a class with multiple base classes may not be marked shared
      class scheduler: no_copy {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(99): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class scheduler: no_copy {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(133): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_root_with_context_proxy: no_assign {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(142): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_root_proxy: no_assign {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(148): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_continuation_proxy: no_assign {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(154): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class allocate_child_proxy: no_assign {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(303): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class task_group_context : internal::no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(303): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class task_group_context : internal::no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(512): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class task: __TBB_TASK_BASE_ACCESS interface5::internal::task_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(512): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class task: __TBB_TASK_BASE_ACCESS interface5::internal::task_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(859): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class empty_task: public task {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(859): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class empty_task: public task {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(868): warning #3440: *MIC* a class with multiple base classes may not be marked shared
      class function_task : public task {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(868): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class function_task : public task {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(883): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class task_list: internal::no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(25),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/task.h(883): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class task_list: internal::no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(336): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  struct atomic_impl_with_arithmetic: atomic_impl {
         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(405): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  struct atomic: internal::atomic_impl {
         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(436): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(__TBB_LONG_LONG)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(437): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(441): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(long)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(442): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned long)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(468): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(468): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(unsigned)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(469): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(int)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(469): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(int)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(472): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned short)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(472): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(unsigned short)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(473): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(short)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(473): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(short)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(474): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(char)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(474): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(char)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(475): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(signed char)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(475): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(signed char)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(476): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(unsigned char)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(476): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(unsigned char)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(479): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  __TBB_DECL_ATOMIC(wchar_t)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(479): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  __TBB_DECL_ATOMIC(wchar_t)
  ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(36),
                 from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/atomic.h(483): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  template struct atomic: internal::atomic_impl_with_arithmetic {
                              ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(59): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class affinity_partitioner_base_v3: no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(59): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class affinity_partitioner_base_v3: no_copy {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(107): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class flag_task: public task {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(107): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class flag_task: public task {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(127): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class signal_task: public task {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(127): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class signal_task: public task {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(278): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  struct auto_partition_type_base : partition_type_base {
         ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(340): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class affinity_partition_type : public auto_partition_type_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(340): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class affinity_partition_type : public auto_partition_type_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(403): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class auto_partition_type: public auto_partition_type_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(403): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class auto_partition_type: public auto_partition_type_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(411): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class simple_partition_type: public partition_type_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(426): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class old_auto_partition_type: public tbb::internal::partition_type_base {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(460): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class partition_type: public internal::partition_type_base {
            ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(490): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  class affinity_partitioner: internal::affinity_partitioner_base_v3 {
        ^

In file included from C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(27),
                 from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(490): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  class affinity_partitioner: internal::affinity_partitioner_base_v3 {
        ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(49): warning #3440: *MIC* a class with multiple base classes may not be marked shared
      class finish_reduce: public flag_task {
            ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(49): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class finish_reduce: public flag_task {
            ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(104): warning #3440: *MIC* a class with multiple base classes may not be marked shared
  template class start_reduce;
                                                                      ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/partitioner.h(104): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
  template class start_reduce;
                                                                      ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(176): warning #3440: *MIC* a class with multiple base classes may not be marked shared
      class finish_deterministic_reduce: public task {
            ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(176): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class finish_deterministic_reduce: public task {
            ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(196): warning #3440: *MIC* a class with multiple base classes may not be marked shared
      class start_deterministic_reduce: public task {
            ^

In file included from primes.cpp(39):
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(196): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class start_deterministic_reduce: public task {
            ^

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(83): warning #3440: *MIC* a class with multiple base classes may not be marked shared
      class start_reduce: public task {
            ^
          detected during:
            instantiation of class "tbb::interface6::internal::start_reduce [with Range=SieveRange, Body=Sieve, Partitioner=const tbb::simple_partitioner]" at line 340
            instantiation of "void tbb::parallel_reduce(const Range &, Body &, const tbb::simple_partitioner &) [with Range=SieveRange, Body=Sieve]" at line 305 of "primes.cpp"

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\tbb\bin\..\include\tbb/parallel_reduce.h(83): warning #3441: *MIC* a class marked shared may not have a base class whose size is not a multiple of 8
      class start_reduce: public task {
            ^
          detected during:
            instantiation of class "tbb::interface6::internal::start_reduce [with Range=SieveRange, Body=Sieve, Partitioner=const tbb::simple_partitioner]" at line 340
            instantiation of "void tbb::parallel_reduce(const Range &, Body &, const tbb::simple_partitioner &) [with Range=SieveRange, Body=Sieve]" at line 305 of "primes.cpp"

C:\Users\I54768\AppData\Local\Temp\84165as_.s: Assembler messages:
C:\Users\I54768\AppData\Local\Temp\84165as_.s:849: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:853: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:854: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:855: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:856: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:857: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1350: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1354: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1355: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1356: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1357: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1358: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1871: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1875: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1876: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1877: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1878: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:1879: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2107: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2111: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2112: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2113: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2114: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2115: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2843: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2847: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2848: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2849: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2850: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:2851: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:3096: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:3100: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:3101: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:3102: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:3103: Error: invalid char '{' beginning operand 1 `{rn-sae}'
C:\Users\I54768\AppData\Local\Temp\84165as_.s:3104: Error: invalid char '{' beginning operand 1 `{rn-sae}'
icl: error #10340: problem encountered when performing target compilation
ofldbegin.obj : error LNK2019: unresolved external symbol __offload_target_image referenced in function "void __cdecl offload_init(void)" (?offload_init@@YAXXZ)
Primes.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Intel\Composer XE 2013 SP1\bin\intel64\icl.exe"' : return code '0x460'
Stop.

 

Is there something else that I need to do?  I'm also bothered by the warnings about RTTI needing to be disabled, as this seems to limit you to using only the simple partitioner.

0 Kudos
2 Replies
John_F_1
Beginner
448 Views

As a second data point, I was able to build (and run with offload to the MIC) GettingStarted\sub_string_finder with /D __TBB_MIC_OFFLOAD /Qtbb so perhaps there is just something peculiar about primes.

0 Kudos
Kevin_D_Intel
Employee
448 Views

Thank you for the heads-up about the issues compiling this TBB sample on Windows. I will try to reproduce this and determine whether it relates to a similar earlier report here and if the fix our Developers have been working on also addresses this instance. I'll post again after I know more.

0 Kudos
Reply