Intel® Threading Building Blocks

Making Parallel Sort Comparator Thread Safe

Hello,

I'm using parallel_sort and regretfully my comparator needs to use a object that is not thread safe. I can make copies of this object for each thread and then the comparator would just need to use the right copy for the thread it is on, kind of like a thread_local but not global.

I'm looking for some tips on how to achieve this with TBB. I know task_scheduler_observer and enumerable_thread_specific are both options for implementing thread_locals but I'm not sure which is better in my case.

Thanks in advance!

Extending task class in tbb

I am trying to extend the task class and override the "spawn_and_wait_for_all" class function. Like this.

MyTask.h:

namespace tbb {

     class my_task: public task {

      public:

               void spawn_and_wait_for_all ( task& child ) { }

     }

}

If the define the "spawn_and_wait_for_all" in the class itself (like above) I am able to call that function. But when I put the function definition in a separate cpp file I get an "undefined reference error". Like this

MyTask.h:

namespace tbb {

Allow for C++11 move semantics in TBB mutex and lock types

Please make tbb::queuing_mutex and tbb::queuing_rw_mutex non-movable in C++11 and later to meet C++11 requirements for STL mutexes (§30.4.1). Mutex implementations outside the STL are not required to meet the requirements for the STL, but this is probably what the developers would expect.

In addition, if possible, please also implement move constructors and move assignment operators for the respective scoped_lock inner classes. The std::lock_guard and std::unique_lock classes have this functionality. If this is not possible, please delete these methods.

Thanks!

Proposed patch 4.3 for simplifying compilation errors for tbb::atomic

Dear TBB Developers,

Please consider the attached patch for tbb43_20141009oss_src which simplifies the compilation errors for misusing tbb::atomic.

Basically, tbb users sometimes misuse tbb::atomic with unsupported types, for example.
And the compiler-error message about the misuse is not easy to understand since it exposes internal details about tbb.

A TBB example does not compile in VS 2013

Hello All,

I was able to build and run shortpath example using the nmake and the Makefile to build the example. In the command line window (in Spanish is: Simbolo del sistema, I think Prompt window in English) I ran tbbvars.bat and I fixed PATH and INCLUDE environment variables:

set PATH=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\bin;%PATH%

set INCLUDE=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\include;%INCLUDE%

Then I executed nmake and the executable was built and I ran it.

Intel® C++ Composer XE 2013 SP1 for Windows*, Update 5

Intel® C++ Composer XE 2013 SP1 Update 5 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 XE Version 14.0.5, Intel® Math Kernel Library (Intel® MKL) Version 11.1 Update 4, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.1 Update 1, Intel® Threading Building Blocks (Intel® TBB) Version 4.2 Update 5, Intel(R) Debugger Extension 7.5-1.0 for Intel(R) Many Integrated Core Architecture.

New in this release:

  • Entwickler
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • Windows*
  • C/C++
  • Intel® C++-Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Debugger
  • Intel® Integrated-Performance-Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® C++ Composer XE 2013 SP1 for Linux*, Update 5

    Intel® C++ Composer XE 2013 SP1 Update 5 includes the latest Intel C/C++ compilers and performance libraries for IA-32, Intel® 64, and Intel® Many Integrated Core (Intel® MIC) architecture systems.

  • Entwickler
  • Linux*
  • C/C++
  • Intel® C++-Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Debugger
  • Intel® Integrated-Performance-Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Threading Building Blocks abonnieren