Hello,
I'm wondering if tbb:concurrent_queue can grow its internal buffers when it's under high load, and then not release the buffers?
How to obtain any information about the buffers and/or release them?
PS. In vector, you have methods like .reserve() to allocate and .swap(vector()) to completely release any buffers.
...
Hello, I am totally a novice in Multi-Core Programming, but I do know how to program C++.
Now, I am looking around for Multi-Core Programming library. I just want to give it a try, just for fun, and right now, I found 3 APIs, but I am not sure which one should I stick with. Right now, I see Boost's MPI, OpenMP and TBB.
For anyone who h...
I am redesigning the messaging system for my app to use intel threading building blocks and am stumped trying to decide between two possible approaches.
Basically, I have a sequence of message objects and for each message type, a sequence of handlers. For each message object, I apply each handler registered for that message objects type...
I'm a bit confused over the Intel Threading Building Blocks commercial vs open source license. The open source version is licensed under GPLv2 with the runtime exception, but what does that imply in plain english? Can it be used in a commercial, closed source application as long as it just links with the unmodified .dlls?
...
How do you properly install the open source version of Intel Thread Building Blocks (TBB) on OS X 10.6? The open source version doesn't seem to have a proper install script.
http://www.threadingbuildingblocks.org/ver.php?fid=154
...
Here is the example code:
#include <iostream>
#include <list>
#include <tbb/task.h>
#include <tbb/task_group.h>
#include <stdlib.h>
#include <boost/thread.hpp>
using namespace tbb;
long fib(long a)
{
if (a < 2) return 1;
return fib(a - 1) + fib(a - 2);
}
class PrintTask
{
public:
void operator()()
{
std::cout <...
Hi,
I have a serial(nonparallel) application written in C. I have modified and re-written it using Intel Threading Building Blocks. When I run this parallel version on an AMD Phenom II machine which is a quad-core machine, I get a performance gain of more than 4X which conflicts with the Amdahl's law. Can anyone give me a reason why thi...
I ran into O'Reilly's new book on TBB in bookstore today. Really liked how TBB abstract the threads into tasks. But I noticed that the tutorial, in page #12 install on Linux* systems, there are only three available s: ia32, intel64 and ia64. Dmesg on our server shows this: [ 0.132804] CPU0: Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.6...
Hey guys,
I'm having a bit of trouble installing Intel's Threading Building Blocks (TBB) 3.0 as a framework on my MacOS system. Does anyone know a good tutorial? I've tried using MacPorts, which has TBB 2.2: it installs all the libraries I need, but I don't get a framework. Also, there doesn't seem to have any .dmg installation file on ...
Hi,
Now I have a solver in that I need to keep a set of self-defined data type objects in a concurrent_vector or queue. It has to be concurrent because the objects come from different threads.With this concurrent container, I hope to sort these objects, eliminate duplicates and send them back when other threads need them.
However, I k...
How does Intel TBB choose the number of threads to used for a parallel section?
Is there some kind of specification available?
...
I'm running a small program built using TBB on Windows with mingw32. It does a parallel_for. Inside the parallel_for my object makes changes to a concurrent_hash_map object. It starts running but later throws a SIGSEGV when I try to use an accessor. I don't know where the problem is.
My object:
class Foobar
{
public:
Foobar(FoobarP...
Can some one recommend approaches to parallelize in C++, when the data to be acted up on is huge. I have been reading about openMP and Intel's TBB for parallelization in C++, but have not experimented with them yet. Which of these is better for parallel data processing ? Any other libraries/ approaches ?
...