Intel® Threading Building Blocks

parallel_for_each on std::vector<std::unique_ptr> >

 

Dear community,

I'm trying to execute a parallel_for_each on a std::vector of unique_ptr.

std::vector<std::unique_ptr<SomeClass> > foo;
foo.fillData()
parallel_for_each(
    foo.begin()
  , foo.end()
  , [&] (std::unique_ptr<SomeClass>& singleFoo) { singleFoo -> method();}
);

However, compiling this code results in an error, because the "implicitly deleted copy constructor" (of the unique_ptr) is called. 

I think the issue is similar to using the following code

TBB vs. OpenMP

I'm just wondering why should we use TBB instead of OpenMP in HPC aplications? Is there any specific featrue(s) that separate this libraray from OpenMP? I have developed a small benchmark for the sake of comparing performance and mostly OpenMP beat TBB. 

 

Intel® Parallel Studio XE 2015 Update 6 Professional Edition for Fortran and C++ Linux*

Intel® Parallel Studio XE 2015 Update 6 Professional Edition for Fortran and C++ parallel software development suite combines Intel's C/C++ compiler and Fortran compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

  • Linux*
  • C/C++
  • Fortran
  • Intel® Parallel Studio XE
  • Intel® Parallel Studio XE Composer Edition
  • Intel® Parallel Studio XE Professional Edition
  • Intel® VTune™ Amplifier
  • Intel® C++ Compiler
  • Intel® Inspector
  • Intel® Advisor
  • Intel® Fortran Compiler
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Integrated Performance Primitives
  • Intel® Parallel Studio XE 2015 Update 6 Professional Edition for C++ Linux*

    Intel® Parallel Studio XE 2015 Update 6 Professional Edition for C++ parallel software development suite combines Intel's C/C++ compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

  • Linux*
  • C/C++
  • Intel® Parallel Studio XE Composer Edition
  • Intel® Parallel Studio XE Professional Edition
  • Intel® VTune™ Amplifier
  • Intel® C++ Compiler
  • Intel® Inspector
  • Intel® Advisor
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Integrated Performance Primitives
  • Intel® Parallel Studio XE 2015 Update 6 Professional Edition for C++ Windows*

    Intel® Parallel Studio XE 2015 Update 6 Professional Edition for C++ parallel software development suite combines Intel's C/C++ compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • C/C++
  • Intel® Parallel Studio XE Composer Edition
  • Intel® Parallel Studio XE Professional Edition
  • Intel® VTune™ Amplifier
  • Intel® C++ Compiler
  • Intel® Inspector
  • Intel® Advisor
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Integrated Performance Primitives
  • Intel® Parallel Studio XE 2015 Update 6 Professional Edition for Fortran and C++ Windows*

    Intel® Parallel Studio XE 2015 Update 6 Professional Edition for Fortran and C++ parallel software development suite combines Intel's C/C++ compiler and Fortran compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • C/C++
  • Fortran
  • Intel® Parallel Studio XE Composer Edition
  • Intel® Parallel Studio XE Professional Edition
  • Intel® VTune™ Amplifier
  • Intel® C++ Compiler
  • Intel® Inspector
  • Intel® Advisor
  • Intel® Fortran Compiler
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Integrated Performance Primitives
  • Intel® Parallel Studio XE 2015 Update 6 Composer Edition for C++ OS X*

    Intel® Parallel Studio XE 2015 Update 6 Composer Edition for C++ OS X* includes the latest Intel C/C++ compilers and performance libraries for IA-32 and Intel® 64 architecture systems. This new product release now includes: Intel® C++ Compiler 15.0.6, GNU* Project Debugger (GDB*) 7.8, Intel® Math Kernel Library (Intel® MKL) Version 11.2 Update 4, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.2 Update 3, Intel® Threading Building Blocks (Intel® TBB) Version 4.3 Update 6

    New in this release:

  • Apple macOS*
  • C/C++
  • Intel® Parallel Studio XE Composer Edition
  • Intel® C++ Compiler
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Integrated Performance Primitives
  • License

    Hello

    Without buying the commercial version, am I allowed to deny requests on my applications source code, thus keeping it closed-source?
     (Paid software, closed-source)

    If I buy the commercial version, am I allowed to deny requests on my applications source code?

     

    Thank you

    Subscribe to Intel® Threading Building Blocks